面经分享

本人投递较晚,4月20号开始投暑期,然后就只有一个阿里 kpi 一面,三十分钟,没有参考意义。
随后到五月中旬,心情很低落。被美团买菜后端开发捞了,但是一面算法没过(个人较菜)。
boss 找投递机会,准备字节教育后端开发一面(基础还行,算法又挂了)。
经同学推荐,转客户端,投递字节飞书客户端,然后第三面挂了。
然后被腾讯 pcg 捞了,只有两面,都通过了,现在怀疑是 hr kpi,池子里都是大佬。
最终在师兄的推荐下开始字节新业务后端开发日常岗位面试,终于不是 0 offer了!

美团一面后端:

1. 自我介绍
2. 你认为你们项目的亮点在哪
3. 你说到 SpringSecurity,你是怎么学习的呢
4. Linux 了解哪些命令
5. Object 类有哪些方法,细说一下每一种
6. 用过哪些集合类,说一下 ConcurrentHashMap,说一下 ConcurrentHashMap源码在多线程下有哪些优化
7. wait() 和 sleep()区别,sleep() 使用过吗,怎么用的
8. volatile 说一下(原子性,可见行,有序性,指令重排,内存屏障,volatile 原理)
9. 线程池7大参数,原理,拒绝策略
10. GCRoot 引用对象
11. 新生代晋升到老年代过程
12. 说一下索引失效
13. 联合索引实际场景如何建立索引
14. 数据库隔离级别分别是什么,解决了什么问题
15. 脏读、幻读、不可重复读
16. MVCC说了一半,面试官打断说不需要说可见行算法,下一个问题
17. Next-key lock 提了一下,没说别的
18. linux 命令询问,chmod,什么是777,三个777分别代表什么,分别代表那个组
19. 框架,Spring IOC, 循环依赖,三级缓存

字节飞书客户端:

一面:
1. 自我介绍
2. 项目登录过程实现、SS 授权和认证过程、JWT 如何使用、如何实现表单重复提交
3. Redis 数据同步如何解决
4. AOP 怎么理解的,动态代理 JDK 和 CGLIB
5. 如何理解线程池、参数、拒绝策略、原理
6. Java 里面的锁机制,synchronized 原理、作用、锁升级,AQS原理,ReentrantLock 源码
7. 手写 DCL 线程安全方法,解释为什么需要加 volatile
8. 第 K 大,leetcode 215,使用快速选择排序 O(n)

二面:
1. 自我介绍
2. 输入 URL 访问流程
3. TLS 什么时候使用对称加密,什么时候使用非对称加密
4. 中间人攻击了解吗?(不了解)
5. 可靠传输如何优化?(类似加速网络请求)
6. DNS 缓存在代码中如何实现?
7. 网络中的二进制如何对应真实内容?(我说的粘包,但是不对,后来说表示层的功能。再后来说前后端交互使用规定的JSON格式,但是他说JSON格式在网络中也是二进制,如何在网络中体现?我就说了序列化,然后他说序列化只是一部分,后来我就不知道了,有大佬知道可以教教我哈)
8. MySQL 索引如何提高查询效率
9. 如何看SQL 语句是否使用了索引
10. 如果你设计优化器,如何优化联合索引?
11. 如何理解事务?
12. 面向对象语言的特点
13. GC如何判断回收的垃圾对象?
14. 如何判断引用计数器什么时候加1,减1?
15. 如何知道对象什么时候被引用?
16. 那什么时候GC进行回收呢?Minor GC、Full GC
17. leetcode 给一个字符串,判断最长的回文子串的长度,如何优化

三面:
1. 自我介绍
2. 十六进制转换为十进制 代码编写
3. 感觉一面二面面试官怎么样?
4. 你感觉一二面令你印象最深的题目?
5. 你还学习过哪些语言?做过哪些项目?
6. 你认为 Python 和 Java 的区别有哪些?历史、编码过程、框架方面
7. HTTP 的历史,HTTP 1.0、1.1、2.0、3.0 
8. 当前腾讯视频用到了哪些协议?
9. 设计一个缓存系统,如何在客户端保存用户的图片?缓存唤出策略、缓存的级别、缓存的存储方式(文件还是数据库,什么时候用文件,什么时候用数据库)、网络图片下载失败重试
10. 你认为你项目中印象最深刻的难题?学到了什么?
11. 你写的代码大致有多少行?

腾讯 pcg 后端:

一面:
1. 自我介绍
2. 浏览器输入 url 过程
3. MTU 和 MSS
5. 状态码详细问答 502 504 403 404 302 301 
6. UDP 如何做可靠传输
7. TCP 如何可靠传输
8. 流量控制和拥塞控制的区别
9. 考察 NGINX 如何转发,NGINX 里面包含什么
10. AOP 动态代理 项目横切日志如何做
11. IOC
12. 看过那些书
13. 如何解决慢查询
14. 12345678 单链表,从尾部到首部每 k 个反转一次,不足 k 个不用处理,返回反转后到链表 k = 3,87654312

二面:
1. 总监面
2. 由于总监时间有限制,直接算法题
3. 二分查找数组指定元素的最小索引,包含边界值处理,测试用例的设计。(算是运气好)

字节新业务后端开发:

一面:
1. 自我介绍
2. 数据库表如何设计的
3. 系统中的 JWT + SpringSecurity 如何实现认证和授权的
4. HTTP 和 HTTPS 的区别
5. 拥塞控制和流量控制的含义和区别,包括拥塞的四个算法
6. Innodb 索引介绍一下
7. 项目中用到哪些索引,怎么用的
8. 覆盖索引是什么
9. ACID 如何保证的(undolog, AID, redolog, mvcc)
10. Redis key过期怎么办?如何删除key?(淘汰策略)
11. Redis 分布式锁你是怎么理解的
12. leetcode 540

二面:
1. 自我介绍
2. 系统中为什么使用 Redis?怎么使用的
3. 详解 JWT,如何实现系统登陆的,如何解决 JWT 的 Token 续期问题
4. 防重复提交如何实现的
5. AOP 是什么(我是从 JDK + CGLIB 源码角度解答的)
6. 然后他说我面过好多次了,基础可以就没有问我八股了(实际上这面之前字节已经面过五次了)
7. 做题:第一题:leetcode 763,第一题没思路,然后给了第二题:分糖果,过了之后又出了一个题:leetcode 162,还好会二分

三面:(三面没录音,记不太清晰了)
1. 自我介绍
2. 项目简介,问项目系统设计从软件工程的角度如何考虑,包括需求,设计,安全多角度思考(结合自己的系统)。
3. 做题:合并 N 个不等长的有序数组为一个有序数组,动态输入。(20分钟之内)
4. 问了操作系统 read write 底层原理
5. 操作系统线程切换的底层原理,设计哪些寄存器的内容,如何变化的
6. 计算机网络的拥塞控制,有哪些缺点,如何改进
7. 了解 QUIC嘛,有哪些优点,解决了 HTTP 2.0哪些问题

#面经#
全部评论
网络中的二进制如何对应真实内容 这段想问的应该是魔数吧
1 回复 分享
发布于 2022-07-07 15:13
大厂的面试就是有深度啊
点赞 回复 分享
发布于 2022-06-18 17:11

相关推荐

不愿透露姓名的神秘牛友
11-09 16:25
蚂蚁 后端 26x16 硕士双一流
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-23 16:56
京东科技 后端 27*20 硕士985
点赞 评论 收藏
分享
15 78 评论
分享
牛客网
牛客企业服务