字节跳动开发,已上岸
字节跳动后端开发
渣硕,末流211,本科时做虚拟现实方向,在研究生阶段转向java后台开发
之前投过字节跳动的游戏开发,三面时被Leader挂了,(可能觉得我GitHub上的项目太low了) 面经:https://www.nowcoder.com/discuss/205503😂😂
后台开发被捞,技术面通过,刚才HR小姐姐电话通知了口头offer
分享面经,希望各位牛友都能收到满意的offer
一面1.讲一个最好的项目
2.算法题,给你一个数找出下一个大的数
3.讲一下堆排序
4.讲一下快排,快排优化的方式,讲了一下BFPRT怎么将时间复杂度稳定到nlogn,讲了一下过程和时间复杂度的计算
5讲讲线程和进程
5.线程同步方式
5.线程调度的算法6.yeild方法的语义
二面
因为系统出问题了,所以直接打的电话,没做算法题,最后说三面会考算法
1.聊一聊项目
2.redis的持久化机制,淘汰机制,内存模型,哨兵
3.数据库关于事务,知道的都说
3.抓取网页时数据转换异常
4.python下载发文件时,要注意什么)(这个不会)
5.tomcat的运行原理,一个访问如何返回
6.GC机制(一大堆)
7.反问
三面(与二面隔了很长时间)
介绍
1.jvm内存模型(一套)
2.用栈实现队列
3.设计模式
4.写个单例
5.tcp和udp,还有三次握手的详解
5.sql用的熟不?写个sql(一个真实的业务场景写,合并分组查询,好久没写sql了没写出来,把思路说了一下)
6.写个算法两个排序数组找中位数(我说可以用归并过程时间复杂度为m+n,他能不能接受---> 不能)(最后选择了用二分法进行优化)
7.二分优化过程
8.反问
整个过程中,感觉问题都不太难,但我答的都很详细,感觉面试官会注重考察的你知识的深度和思考问题的方式,问题也有可能记得不全(就回想起这些),总之大家好好准备的,尽量多看一些源码和操作系统底层的东西,印象中头条面试不偏重语言特性更侧重于操作系统和网络(当然还有算法)
另外的话在面试过程中一定要保持良好的态度,不要愁眉苦脸的将情绪传递给面试官(谁都不想以后和这种人共事吧),遇到不会的问题,
可以说一下思路,让面试官知道你的思考方向,如果和正确答案有偏差的话,他会给你纠正
三面结束后收到了hr通知,说技术面过了,然后之前的面试中有交叉面,有两个部门Leader,都准备要我,说选择权交到我手上,(感觉自己很幸运)
明天两个部门的leader会给我打电话,聊一聊部门负责的内容,然后和HR说选择哪个部门,之后会安排offer
感谢牛客,之前也经常看牛客面经,收货很大
祝愿大家都能拿到满意offer
#字节跳动##面经##Java工程师##校招#