个人介绍:985非计算机,转行it搞java搞了1年,目前拿到了字节跳动的offer。感谢牛客网友的分享,现在我分享我的面经给大家,希望能够对大家有帮助。
一面:
1、final是干嘛的,用在什么地方,你们项目中有用到过吗
1、final是干嘛的,用在什么地方,你们项目中有用到过吗
2、有那些集合,一个一个说linkedlist,arraylist,hashmap
3、说一下hashmap基本结构,和hashmap的扩容,hashmap的并发
4、说一下jvm的垃圾回收器,有那些,算法有哪些,他们的优缺点
5、线程池用过吗?用来干什么?说一下线程池。
6、做过sql优化吗(我简历上写了),说一下吧。
7、mysql的索引说一下,b+树的优缺点
8、说一下dubbo的架构(简历上有写)
9、说一下kafka的topic,partition,broker概念
10、kafka的主从选举机制
11、redis用过吗?有哪些数据类型,常用什么数据类型?我有说zset,那说一下zset的底层原理吧
12、linux中你用哪些命令
13、linux中想看一个文件中某个关键字出现的次数(我不会,后面还会问到。。)
15、做题:leetcode56题,合并区间。
二面:
直接先做题:leetcode70 跳台阶,这个我做过所以写的很快,还说了下递归和动态规划的优缺点,
然后特别,面试官发给了一个飞书文档的连接,上面有很多实际的问题,大致有这些:
1、给一个实习生写的代码,请指出他的问题
2、给定一个订单和商品的要求,请设计表结构,然后有三个问题,分别写3条sql来。根据联合索引来设计索引。
3、接着第二题,用redis来存储上面问题查询出来的结果,该怎么写redis
然后:
1、问一个之前问过你当时你没回答上来的:linux中想看一个文件中某个关键字出现的次数,嘻嘻,那天面试完我去百度了!
2、说一下redis的主从复制,缓冲区大小,超过缓冲区大小怎么办?
3、tcp三次握手,为什么三次,为什么四次
4、tcp快速恢复,快速启动,慢启动
5、进程和线程的区别(这一部分没细问,他说看你是搞java,如果是搞c的会问的更加深入。)
我算法题做的比较快,问完上面的问题后就花了30分钟,面试官看太快了,就说你还有什么比较拿手的,我就说了说我做过一点mysql的治理。然后又聊了10分钟
三面:
直接先做题:合并两个有序链表。。
1、你做过哪些项目?
2、说一个你觉得难度最大的项目,你是怎么解决技术难点问题的。
3、你做过微服务项目吗?用的什么技术?
4、你说一下springcloud 的 hytrix的原理是什么?
5、说一下dubbo的原理。
6、用过redis吗,项目中怎么用的。
7、知道微服务网格吗,知道微服务治理吗?
8、你的优点和缺点
为了跳槽我前后准备学习了一年的时间,学了很多内容,感兴趣我的经历的可以去我的文章中查看:
全部评论
(22) 回帖