vlambda博客
学习文章列表

字节跳动飞书企业应用后端开发一、二、三面面经


一面 2022年3月15日

1、自我介绍

2、实习项目

3、自己做的社区网站项目

4、Object类有哪些方法?详细说明

5、聊聊垃圾回收,实习的时候团队用的是哪个垃圾收集器?

6、进程和线程和区别?

7、TCP为什么可靠?三次握手的过程?为什么是三次

8、mysql 事务的隔离级别?再说说常用的存储引擎

9、说说Java多态

10、http和https的区别?

11、了解分布式系统吗?说说你的理解

12、mysql索引底层实现,索引失效的情况

13、问了一些linux命令,如何查看进程、杀死进程、su命令,还有一些其他的忘记了,都是些比较基础的

14、mysql怎么创建索引

15、你项目的登录功能,输入用户名和密码,用户提交登录请求到服务端,说说处理请求的详细过程,包括网络层面的。(tcp建立连接、断开连接的过程+业务处理请求的过程)


算法题:输入一个字符串,至多删除一个字符,该字符串是否是回文串,输出true或者false。比如bab,输出true;babb,输出true

二面 2022年3月16日

1、自我介绍

2、实习项目

3、Redis内存淘汰策略?Redis支持事务吗?与mysql的事务有什么不同

4、sql优化,说说explain需要关注哪些参数?

5、mybatis sql语句里写 #和?的区别?

6、SQL注入,mybaits怎么防止SQL注入?

7、说一下垃圾回收?如果GC突然很慢怎么排查,比如原来GC完成只需要1秒,现在要5秒?了解哪些gc相关的工具,比如jstack之类的

8、mysql怎么支持事务的?

9、说说binlog和redolog,redolog两阶段提交的过程?

10、redis怎么实现持久化?持久化能保证不丢失数据吗?

11、Java线程有哪些状态?

12、并发和并行的区别?

13、进程调度算法


算法题:https://leetcode-cn.com/problems/spiral-matrix/

三面 2022年3月22日

1、实习项目,聊了挺久的

2、分布式事务

3、synchronized关键字的底层实现

4、为什么需要可重入锁?

5、Redis怎么实现分布式锁,具体的命令是什么?如果是分布式集群会有什么问题?这里答RedLock算法

6、实习项目为什么用Spring Boot?有什么好处?

7、Spring Boot实现定时任务有哪些方式?

8、说说IO多路复用,做过网络编程吗?tcp三次握手之前,需要做什么?大概就是启动进程、监听端口之类的


算法题:输入一个数组,找出A1 A2两个数,使得 A1-A2尽可能大,输出A1-A2的结果。例如 输入[0,2,3,8],输出 -1,即2-3。

做完后面试官一直让优化,最后问我能不能用动态规划写这题?我说不会,让我说说对动态规划的理解。


就记得这些了,面经上问题的顺序并不是面试时面试官提问的顺序

------关注我,获取一手校招资讯------