content: 应届生,应届生求职,校园招聘,校招,春招,秋招,实习,笔试,笔试题库,面试,面试题库,程序员,程序猿,程序猿,产品经理,PM,运营,游戏策划,软件工程师,java,c/c++,php,python,算法,机器学习,人工智能,数据挖掘,数据分析,数据分析师,前端工程师,测试工程师,测试开发工程师,运维工程师,安卓工程师,ios工程师,android,硬件工程师,电气工程师,嵌入式工
title: 字节跳动后端开发面经(已意向)_笔经面经_牛客网 shortTitle: 字节跳动后端开发面经(已意向)_笔经面经_牛客网 description: 先讲一下时间线吧,7.7号投递 -> 7.17一面 -> 7.21二面 -> 7.28三面 -> 8.2HR面 -> 8.13OC -> 8.15意向 tags: - 优质文章 category: - 牛客 head: - - meta - name: keywords
content: 应届生,应届生求职,校园招聘,校招,春招,秋招,实习,笔试,笔试题库,面试,面试题库,程序员,程序猿,程序猿,产品经理,PM,运营,游戏策划,软件工程师,java,c/c++,php,python,算法,机器学习,人工智能,数据挖掘,数据分析,数据分析师,前端工程师,测试工程师,测试开发工程师,运维工程师,安卓工程师,ios工程师,android,硬件工程师,电气工程师,嵌入式工程师,汽车制造研发,审计,会计,财务管理,市场营销,品牌管理,金融,四大,法务,销售,行政,人力资源,hr,管培生,地产,国企,银行,实习,实习生,招聘,找工作,牛客网
先讲一下时间线吧,7.7号投递 -> 7.17一面 -> 7.21二面 -> 7.28三面 -> 8.2HR面 -> 8.13OC -> 8.15意向
因为楼主没有录屏,所以可能有些遗漏。
一面 7.17(60min)
一面的面试官给我留下了非常好的印象,面试开始时告诉我他有两个显示器,所以有时目光不会直视我,并且他会做一些必要的记录,如果我回答完他没有立即回应的话,希望我能理解。
1.自我介绍(介绍实习项目)
2.根据我的实习项目对我进行提问,问的较为仔细,需要对自己的项目有较深的理解
3.OSI7层网络了解吗?说说具体有哪些层,并且每一层起到什么作用?互相之间如何协作?
4.应用层,传输层,网络层,数据链路层都有哪些协议?它们都起到了什么作用?
5.MAC地址在传输过程中会改变吗?
6.CSMA/CD协议作用于哪一层?如何工作的?如何降低碰撞几率的?
7.TCP三次握手,四次挥手聊一聊?
8.进程,线程,协程了解吗?说说他们的特性和区别。
9.select,poll,epoll的区别?
10.进程间的通信方式有哪些?共享存储的优点和缺点分别是什么?消息队列与管道相比有什么优势?
11.JDK8默认使用的垃圾收集器有哪些?新生代为什么普遍采用复制算法?老年代为什么普遍采用标记清除算法?
12.虽迟但到的算法题环节:
(1)接雨水
(2)链表每k个进行反转
二面 7.21(70min)
1.自我介绍(介绍实习项目)
2.也是针对项目进行提问,相较于一面更为深入,例如会问为什么选择使用这项技术?有没有和其他技术进行过对比?可扩展性如何?
3.TCP和UDP区别是什么?TCP依据什么来保证可靠性?TCP是面向什么进行传输?
4.HTTPS和HTTP的区别?HTTPS协议链接建立流程是什么?HTTPS中的S代表什么?介于拿两层之间起作用?对于应用层透明吗?
5.数据链路层为网络层提供了哪些服务?ARP协议是哪一层的协议?
6.ICMP报文能起到哪些作用?分别是如何起作用的?
7.虚拟内存了解吗?有什么作用?
8.讲讲请求分段,请求分页,请求段页的实现方式及使用场景
9.请求分页的具体工作流程能不能讲讲呢?页面置换算法有哪些?(其中我说了LRU,结果后面算法题出的就是LRU😂)
11.你平时喜欢使用什么关系型数据库呢?(回答的是mysql)
12.mysql一般使用哪些引擎呢?
13.Innodb和myisam的区别是什么呢?哪种情况下该使用innodb,哪种情况下使用myisam呢?为什么?
14.当查询数据库时使用limit 10000,10有什么弊端?有什么好的解决方案吗?
15.什么时候索引会失效?能够使用>和>=的时候你会使用哪一个?为什么?
16.当查询条件有xx == null 时索引一定会失效吗?
17.执行计划了解吗?
18.智力题
有36匹马,6赛道,每条赛道之间的名次不可知,只能获知单条赛道马的名次,问最少比多少次能知道前三名?
19.算法题
(1)LRU(后面又让改成带过期时间的LRU,我使用的惰性删除)
(2)查找旋转数组(时间复杂度要求O(logn))
三面 7.28(70min)
前两面面试官询问Java方面的知识点比较少,三面面试官问的比较多
1.自我介绍( 介绍实习项目)
2.针对实习项目和简历中的项目展开地毯式考察(花费大概25min)
3.HashMap如何是如何实现的呢?JDK8HashMap的散列算法能不能从源码层面来介绍一下?为什么扩容是两倍呢?自己手写实现过HashMap吗?
4.我看之前答垃圾收集器答的蛮好的,你能介绍一下CMS垃圾收集器的优缺点吗?为什么CMS会将serial old作为后备垃圾回收器?
5.对象只会被分配到堆吗?(答:不是,还有可能会栈上分配)
6.什么时候会进行栈上分配?
7.ThreadLocal的作用?如何实现?会不会出现内存泄漏?如何避免内存泄漏?
8.Spring AOP 的作用?如何实现的?
9.Spring 自动注入如何实现?(这个涉及的方面就比较多,讲了好久)
10.了解SSD的原理吗?(答:不知道,只知道磁盘,所以就讲了下磁盘存储原理和寻道算法)
11.操作系统是如何判定内存访问越界的?
12.访问越界后操作系用会如何进行处理?
13.用户态转换到核心态的过程?
14.进程切换过程?线程切换过程?
15.当我们ping的时候发送的是什么包?
16.TCP协议头部长度是使用哪个字段?如何计算的?
17.TCP如何实现流量控制和拥塞控制?
18.TCP的滑动窗口移动流程你能具体讲讲吗?
19.当我们输入一个SQL查询语句时,mysql数据库引擎是如何执行并得到最终结果的?(答:先查询缓存->解析器->优化器)
20.智力题
(1) 一个桶能存储5升水,一个桶能存储3升水,如何操作能量出4升水?
(2)两根质地不均匀的木头,从一端烧到另一端需要60分钟,如何操作能准确量出15分钟?
21.算法题
你之前说了解析器,那我现场出一道算法题吧,我会输入一个SQL语句,你需要将where后面的查询条件解析为一棵规则树
例如:where (a == b and c == d) or (e == f or (g == h))
我需要生成一棵树,结构为
or
- and
a == b
c == d
- or
e == f
g == h
楼主运气比较好,肌肉记忆写出来了,面试官几个测试用例也通过了,算是有惊无险。
HR面 8.2 (30min)
询问实习期间的挑战和解决问题的思路,就拉拉家常,如实回答就好~。
HR面完后,HR加了我微信,长达11天的审批流程后终于OC。
总结
总的来说,字节跳动后端开发考察具体语言知识是比较少的,计算机网络,操作系统原理考察的比较多。智力题也会进行考察可以事先准备下。算法题我的体验是每面都有一道Hard,不过是比较常见的(除了最后一面)。
面试体验也十分的好,可能是我运气好,没有遇到故意刁难的面试官,特别是最后一面的面试官,一直在呵呵的笑(很友善),搞得我也一直在笑,哈哈。
今年秋招十分的不容易,希望这篇面经能帮助到大家~
对了,楼主base成都
转载链接:https://www.nowcoder.com/discuss/1017201,整理:沉默王二
你可能感兴趣的文章
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦