字节跳动后端开发一二面面经
字节跳动的面试官挺友好的,照着你的简历来问,遇到不会的还给提示,提示完了还不会还给解答,总到来说面试体验很棒了。
一二面是连续的,隔了几分钟而已,所以别退界面!!我不止退了,我还漏接了三个面试官的电话。
一面面经:
算法题:输出一颗二叉树的右视图(BFS)
(本来要考位操作,我说不太熟就换了一题)
SQL题:一个表有姓名、课程、分数,找出每个课程分数都大于80的学生姓名
数据库:了解过数据库的索引么(答:B+树),为什么使用B+树
说说ACID
有了解过数据库的锁吗(乐观锁、悲观锁)
乐观锁、悲观锁说一下、怎么实现
Java:面向对象说说你的看法
怎么实现多线程(继承Thread、实现Runnable、线程池)
线程池了解么
讲讲Sychronize有哪些用法、底层怎么实现的了解么
Spring:讲讲你理解的Spring(答IOC、AOP)
说说IOC、AOP
看过Spring源码吗
MyBatis:了解过接口怎么映射数据库的么
(本来要考位操作,我说不太熟就换了一题)
SQL题:一个表有姓名、课程、分数,找出每个课程分数都大于80的学生姓名
数据库:了解过数据库的索引么(答:B+树),为什么使用B+树
说说ACID
有了解过数据库的锁吗(乐观锁、悲观锁)
乐观锁、悲观锁说一下、怎么实现
Java:面向对象说说你的看法
怎么实现多线程(继承Thread、实现Runnable、线程池)
线程池了解么
讲讲Sychronize有哪些用法、底层怎么实现的了解么
Spring:讲讲你理解的Spring(答IOC、AOP)
说说IOC、AOP
看过Spring源码吗
MyBatis:了解过接口怎么映射数据库的么
让我反问。
二面面经:
数据库:问了一下数据库引擎,索引数据结构,B+树怎么存数据的
SpringBoot:讲讲你理解的SpringBoot
MyBatis:讲讲你怎么用的
两道场景题:
1. 有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M,要求返回频数最高的100个词。
一开始答的分成小文件进来,然后放进hashmap中去记录出现次数,然后快排取100个。然后面试官让我优化一下分文件的过程,提示用hashcode分一下文件,就想的把单词相同的尽量分在一个文件里面。
2. 每个模块都是存在依赖关系的,你怎么去找到这个模块的依赖(没答上来,面试官说用图的拓扑排序去处理)。
算法题:
整形数组连续子数组和的最大值(dp问题,菜鸡的我写了个暴力)
让我反问。
最后面试官来了一句:“有后续消息会再另外通知。”,感觉应该凉了吧,还是许愿一下hr面🤪
#字节跳动面经##字节跳动##Java工程师##面经##实习#