首页 > 双非渣本后端三个月逆袭字节
头像
范特西Fantasy
编辑于 2021-03-11 17:14
+ 关注

双非渣本后端三个月逆袭字节 内部员工回复

个人背景介绍

2017年毕业于一所不知名双非本科大学,毕业时就有着一颗想进大厂的心,但又想留在成都,不愿意去北上广,现在其实相当后悔。当年在成都的大厂少之又少,再加上校招时非常努力地玩耍,导致投的几个大厂面试都全部挂掉。也错失了进大厂最好的机会,所以我奉劝大三的同学如果对自己的职业有追求,有进大厂的梦想,在大三的时候一定要好好准备,在校招的时候拿offer。
最后我在成都一家本地科技公司做了Java开发,中间也跳过一次槽,也是做的Java。但这几年时间里总感觉公司能给的成长太慢,虽然自己也在学习,还是免不了焦虑,特别是像自己这种学历和公司背景都一般的程序员,要保证自己以后不被淘汰,必须得做点什么。所以在听到一个前同事被公司裁掉,最后进入大厂这个事情之后,彻底点燃了我心中想进大厂的那把火,我也准备内推试试字节跳动。
因为疫情原因,很多企业生存困难。我也保持了理智,没有辞职进行面试。而是给自己制定了学习计划,不得不说,在职的情况下复习确实很难,因为可能加班打乱计划。于是我把所有能利用的个人时间全部利用了起来,比如早上十点上班,我六点钟就会起床,刷两个小时LeetCode,八点钟洗漱之后去上班。晚上如果有时间就会把早上刷过的题拿出来继续复习,花了两个月的时间,一边复习(预习)数据结构,一边做题,LeetCode上面的高频题基本都过了一遍。花了那么多时间刷题,都是因为自己算法太菜,以前没有进行专门的练习。题做得差不多之后,就开始复习专业知识了,具体内容我都会总结出来。前前后后准备了三个月,我才敢进行内推,经历了八次面试之后,面试时间又持续三个月,皇天不负有心人,终于在这个月等到了oc。
下面是面试内容,时间太久了,可能记得不太全,但基本上包含了所有问题,白天上班,我都是选择晚上进行面试,哈哈

一面A部门

  1. 讲项目,串起来讲,可能遇到的问题,怎么解决,怎么实现,讲了发送客服消息
  2. Spring里面的bean怎么回事
  3. HashMap和ConcurrentHashMap,HashMap中的红黑树,两者rehash的区别
  4. Mysql的一致性是什么,数据库redolog,undo log,MySQL的索引结构,为什么二级索引叶子节点不能直接存储行数据的指针,这样可以不回表,怎么考虑的?
  5. redis里面的zset,跳表怎么实现,怎么增删,
  6. redis是怎么rehash的
  7. 算法,二叉树转双向链表

二面A部门

  1. 自我介绍
  2. 再一次聊项目,功能,架构,角色,量级
  3. Spring里面有哪些设计模式
  4. SpringMVC和SpringBoot有什么区别
  5. SpringBoot的自动配置是怎么实现的
  6. 刚刚你说了线程池,你线程池是用的什么,参数有哪些,为什么这么设置
  7. 线程池核心线程满了怎么办,里面的阻塞队列是干什么的
  8. 说说ThreadLocal是什么
  9. CAP理论知道吗,为什么不能同时满足
  10. Redis里面的数据结构有什么场景
  11. Redis怎么实现锁(redis锁的所有坑都说了一遍)
  12. 分布式事务知道吗,有哪些方案(说了2PC,3PC,TCC,MQ)
  13. 算法题,树的直径
  14. 有什么要问我的

三面A部门

  1. 介绍项目
  2. 场景题,设计一个朋友圈,读QPS 1000w,写QPS 10w
  3. 算法题LFU
  4. 你有什么问题

这个面试官是个leader,比较强势,很多细节回答的不是很好,所以脸色一直不好,给人压力较大,面完就觉得凉了。果然面完之后和前两次不一样,HR那里就没有任何通知了,到这里还是很失落,准备了那么久,因为最后一面没表现好导致挂掉。之后等了一个月,这一个月没有任何消息,一个月过后又接到字节HR的电话,说我之前两面面评都不错,让我试试他们部门,我就同意了。

一面B部门

  1. 介绍项目,细节
  2. 怎么做服务拆分,边界怎么划分的
  3. 分布式之后会遇到什么问题,CAP的各个情况介绍一下
  4. dubbo调用过程是怎样的,PB知道吗
  5. thrift了解过吗
  6. zk介绍一下,有哪些节点类型,特点
  7. 怎么知道项目中接口的重要性,怎么做监控,你说的自动化测试是怎么做到的(这个问题回答完,他笑了。。。)
  8. 你所理解的SLA是什么,要达到什么等级
  9. 说说你理解的k8s
  10. nginx的upstream是干什么的
  11. nginx有哪些负载均衡策略
  12. 算法题:岛屿数量
  13. 你有什么问题要问我

二面B部门

  1. 介绍项目,细节
  2. 锁有哪些实现方式
  3. 分布式锁的实现方式
  4. JVM的内存模型,垃圾回收算法
  5. MySQL的事务介绍,ACID的实现原理是什么(想问MySQL的日志)
  6. HashMap的原理,其他线程安全的Map
  7. Redis的高可用,有哪些持久化方式
  8. Redis的数据结构,线程模型
  9. 用过什么消息队列,有什么特点
  10. 怎么保证消息幂等消费
  11. docker的网络模式
  12. 算法题:比较版本号
  13. 提问

三面B部门(交叉面)

  1. 介绍项目,细节
  2. Linux的内存管理
  3. 浏览器打开一个网站的过程中会经历哪些网络处理,DNS的具体过程是啥
  4. zk是什么分布式模型(想问的CAP定理),主从怎么做选举
  5. zk只有一个主节点,写性能不高,zk怎么解决的
  6. etcd或consul知道吗
  7. 多个服务中如何快速排查问题
  8. Redis中的淘汰方式有哪些,Redis性能高的原因是啥
  9. docker的实现原理
  10. 算法题:相交链表

四面B部门 (leader面)

  1. 介绍项目,细节
  2. 项目量级多大,QPS最高的接口是怎么做的
  3. rpc怎么实现服务发现
  4. zk中的watch机制是怎么实现的
  5. 分布式锁有哪些实现,MySQL,zk,Redis都说了一遍,并且分析了各自的优缺点,这个问题问的频率太高了
  6. 怎么提高数据库读写性能
  7. k8s了解吗
  8. servicemesh有做过吗

五面B部门(HR面)

  1. 离职原因
  2. 职业规划
  3. 期望薪资

基础知识

  1. 常用集合、数据结构(数据增删改查操作的原理具体实现、各参数的含义,以及如何组合使用)
  2. Java的语法,OO的思想要熟悉,常用设计模式要知道场景
  3. JVM内存模型,垃圾回收算法,垃圾收集器的区别,GC调优
  4. 线程模型
  5. IO模型(包括操作系统底层IO模型和常见BIO、NIO、AIO、IO多路复用的原理)
  6. Redis(数据结构的内部实现、淘汰原理策略、持久化、集群、扩容、数据同步、以及一些常见缓存问题的解决方案)
  7. MySQL(索引原理,查询优化,三大日志)
  8. 消息队列(内部原理,常见消息问题解决方案)
  9. 分布式原理、算法、rpc原理(paxos、raft、zookeeper的原理)
  10. 分布式场景题(高可用,高性能相关)

其他知识

  1. 位运算
  2. 大数据量操作(在有限时间内完成、在有限空间内完成)
  3. 设计题(看一些常见的分布式ID、分布式计数服务等等)

算法

  1. 数组
  2. 链表
  3. 位运算
  4. 二叉树(dfs,bfs,相当重要,只要会了二叉树,回溯那些算法也会了)
  5. 设计题
  6. LRU/LFU
  7. 排序
  8. 查找

总结

我给大家的建议就是慢慢来,不管是社招还是校招,制定自己的计划,一定要有自己的知识体系,针对自己薄弱的地方进行强化复习,不放过任何一个细节。
简历上写的东西一定要会,一般都是针对简历来提问的。如果在预习的过程中感到困难或者吃力,那就对了,等你熬过去了,就是胜利。祝福大家都能拿到满意的offer。

更多模拟面试

全部评论

(41) 回帖
加载中...
话题 回帖

推荐话题

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐