作为互联网工作者,大部分都想要进入BAT这样的巨头大厂,当然不否认能够进入BAT工作的人,能力和资历都是不会差的,但互联网的变化是非常快的,今天就被美团点评刷屏了,谁也没想到美团能够挤进中国互联网公司前三,谁也没想带,BAT会变成ATM。而做Java三年,我自然也有我心中的大厂梦,但吸引我的并非BAT,也不是ATM,而是近两年来,发展势头迅猛的字节跳动,所以今年我也着手准备了字节的面试,打算跳槽。
6月份时投过一次简历给字节跳动,面试过了3轮,最后没有通过凉凉了,也是因为自己的准备不够充分,很多面题都答得不好,所以回来自己开始复习一些知识点,9月初拿到了内推的名额,历经4面,最终拿下了抖音offer。
字节跳动第一次面试(3轮技术面凉凉)
第一轮技术面
自我介绍
详细介绍一下自己做的项目
根据项目提了一些问题
问了HashMap的实现原理
数据库B+树
final关键字
设计一个榨汁机类,面向对象怎么设计
get、post区别,使用场景,幂等性
TCP、UDP,分别在应用层有哪些协议
算法题1:数组值为1-n,各出现一次,先加入x(x也是1-n的范围),找出x
算法题2:给定n个节点,以及每个节点上的一个数值,如果两个节点数值的最大公约数大于1,那么在这两个点之间连一条边。求这个图的最大连通分量的节点个数。
智力题:给十桶乒乓球(每桶中乒乓球数量无限),有一个桶的球重9g,其余桶均为10g。找到9g的那桶要测几次,如何测?
你有什么想问的?
第二轮技术面
聊项目
http的各种方法
http和https的区别
https的加密过程
从浏览器输入一个url到生成页面发生了什么,写下SQL
Java多线程介绍一下
session 和 cookie的区别
介绍TCP
状态码介绍
算法题1:反转链表按k,最长重复子串
算法题2:接雨水(具体不记得了)
第三轮技术面
介绍下HashMap原理
介绍下红黑树,怎么变为线程安全,锁机制
介绍下JVM
介绍下MySQL,B+树,存储引擎
不使用redis存储session该怎么做
Linux的基本系统指令
如果A给B转账的同时B给A转账,怎么并发量最高
你有什么想问的吗?
第二天收到不通过的短信,凉透了!
字节跳动抖音部门内推名额,4面通过(3轮技术面+1轮HR面)
抖音内推一面
自我介绍
项目介绍
用到了什么rpc框架?那coral是基于什么协议的?http协议的header是什么结构的?
TCP和UDP的区别
TCP怎么保证可靠传输的?
如果tcp连接断了(比如server宕机),client如何处理?
介绍一下链表
单链表和双链表的区别及应用场景
MySQL索引
操作系统和数据库了解么?
HashMap的底层实现?
数组存储的元素是什么?
详细介绍一下 put这个方法的执行流程
hashcode 返回32位的 int 结果
与数组长度取模(按位与),计算出index,插入index下的链表
valatile的作用
如何保证可见性?
算法题:输入一个数据流(4,3,10),请依次输出当前数据的中位数,声明一个链表去存储这些数据,并返回链表的中位数(ON)
给一个很大的log file, 形式是user id, login time, logout time, 如何找到峰值。
抖音内推二面
聊项目
Java的hashmap
Java中用到的锁
一个class 中有两个加锁的方法,可以同时分别被不同的线程调用么?
如何保证缓存与数据库读写一致性?
针对千万次每秒的访问,分布式缓存如何实现?主从换从如何保证一致性
Git rebase 与 Git merge的区别
算法题:打印二叉树的左边界
抖音内推三面
Java Servlet和Filter的比较
100层楼,给两颗鸡蛋,找到鸡蛋在哪层会破。要求最坏情况下次数最少的方法。
MySQL的SQL
多个服务器间共享session的解决方案
你学过redis?介绍下redis
二叉树转双向链表
逻辑题:岛上n个人,有人红帽有人白帽,每人只能看到别人头上的帽子,且彼此不能交流,如若确认自己是红帽子的话可以离开岛。有经过的渔民说了一句“你们中至少一人是红帽!”请问接下来发生什么情况?
你有什么想问的吗?
抖音内推HR面
自我介绍
未来的职业规划
说一下自己平时的学习方法
你认为这些学习方法里最有效的是哪一种?
评价一下之前的面试官,或者说之前的面试官有没有给你留下印象最深刻的一点
为什么想要来字节跳动?
你平时都用字节的哪些产品?有什么好的建议吗?
期望薪资
你有没有什么想问的?
总结
很庆幸自己拿到了抖音的内推名额,自己也努力把握住了机会,而这两次面试字节跳动,最应该要注意的部分就是算法,字节是真的很喜欢问算法题,如果要准备字节跳动的面试,提前刷一些题是很有必要的。
网友评论