前言
昨晚接到了字节HR的电话(和三面隔了一周),之后发了意向书。
简单介绍下本人情况:
某不知名双非本科,电子信息工程专业(也算半个科班吧),没有实习,也没有奖项(奖学金都没拿过。。)主要的知识获取来源一般是通过网上,因此现在我也来把我的经验分享给大家,希望能帮助到大家!
字节跳动1面 7.15 50min
- 怎么理解微服务
- 微服务的缺点
- 微服务之间怎么做负载均衡
- Oauth2基本流程、原理
- 登录模块是怎么做的
- cookie和session的区别
- 购物车为什么用Redis存,是永久存储吗
- 为什么购物车多读多写
- Redis怎样清除过期key,有哪些策略
- lru是怎样的过程
- Redis字典底层怎么实现的
- hashtable是怎样实现的
- ziplist怎样实现的
- 普通的哈希表怎样实现的
- 哈希表怎么扩容
- 使用MQ的好处
- MQ解耦和微服务解耦的区别
- 算法:最长回文子串
- https建立连接的过程(SSL/TLS协商的过程)
- 对称加密和非对称加密的优缺点
- 为什么要区分内核态和用户态
- 什么时候从用户态切换到内核态
- 你编程的情况下,系统调用什么时候会发生
- 反问:业务,开发语言,表现,对应届生的要求(重点是基础和算法)
- 面试体验不错,但是项目挖的有点深
字节跳动2面 7.19 1h
- 手写单例模式
- volatile什么作用
- 多线程的几种实现方式
- 四种方式的区别
- 锁用过哪些
- 排它锁什么意思
- 自旋锁什么意思
- CAS相关
- MySQL可以不指定主键建表吗,背后的逻辑是什么
- 聚簇索引和其他索引有什么区别
- 建唯一索引,插入数据时是怎么处理的
- 重复插入会报错,是怎么处理的
- 不同事物隔离级别的实现
- 以前没有实习过吗
- lc40 组合总和II
- 反问:部门怎样培养新人,刚进来做什么(学基础,语言和中间件,做demo),大概多久做需求(1周到1个月不等,看学习情况),框架和中间件以开源的为主还是以自研的为主(自研的)
字节跳动3面 7.26 1h
- 有在实习吗
- 面试通过后可以实习吗
- 做项目的过程中遇到过什么问题
- 内存泄露具体发生在哪
- 什么情况下会出现多线程访问
- 缓存穿透,怎么解决 (好像一紧张说成缓存击穿了,面试复盘的时候才发现。。。)
- 缓存雪崩,怎么解决
- 缓存与数据库数据一致性
- 超卖问题怎么解决的
- 集群环境下,Redis内存里的数据怎么保证一致
- 算法:给定一个字符数组,和一个字符串,在字符串里找到任意一个完全由字符数组组成的子串,字符顺序无所谓(滑动窗口)
- 反问:面试通过还有面试吗,新人入职有培训吗,技术氛围怎么样
一点经验
字节算法还是很重要的。我大概刷了600+LeetCode,其中70题基本可以熟练默写出来,面试时写的算法题,全是写过的高频题。我的意思不是背题,我的情况是天天刷高频,刷的时间长了,就很容易把思路记下来,后面再写就很熟了。
还有就是项目的细节要准备准备,我字节一面的时候没准备项目,结果好几个细节都没讲出来,要不是后面算法写出来了,估计一面就凉了。如果是字节的话,我问过,侧重点还是基础和算法,所以项目占得比重可能稍微少点,建议还是八股熟练点,算法多刷点比较有用。
我的面试经验汇总
由于平台限制,不能以图片的形式一一展示了!基础的东西就不进行过多的赘述,我们将会从面试必问的说起,基本上文档里面的内容都是打出面试必问的技术点和面试真题整理而成,大家拿到手后建议直接去把真题做一下,有需要的朋友点击这里自取就好了,希望资料对你有帮助!大家一边练手一边考证一下自己的技术水平,全部做完之后再去看面试题解析和技术点讲解,这样的学习效率是非常高的!最后祝大家工作顺利,面试成功!