字节跳动面试官都很优秀,面试的过程中全程微笑,基本是讨论的方式面试。
一面
3月13日
自我介绍
算法题一:无序数组的中位数 (快排思想O(N) 时间复杂度)
算法题二:给一数组,让你找一对满足i<j && a[i]<a[j]的i和j (O(N)时间复杂度 O(1)空间复杂度)
算法题三:给一数组,让你找一对满足i<j<k && a[i]<a[j]<a[k] 的i和j和k (O(N)时间复杂度 O(N)空间复杂度)
三道题都比较简单。
三次握手过程
为什么是3次,而不是2次或4次?
介绍下TCP
TCP是如何确保传输安全的?
TCP和UDP的区别
介绍下hashmap
数据库有了解吗,介绍下数据库的索引以及作用
数据库的存储引擎,介绍一下,以及其数据结构
然后问了和C++相关的操作系统问题,我不太会,然后面试官就笑了,告诉你先别走,我去联系二面面试官
二面
3月13日
自我介绍
算法题:( 和 )可以匹配,给你一个字符串,问你有多少合法的括号 (分段处理 : O(N) 时间复杂度,O(1)空间复杂度)
算法题比较简单
然后问了线程和进程
TCP和UDP区别(重了)
然后来了个情景设计题😱 :
设计一个城市的顺丰快递系统,这个是边讨论边回答,大概花了30分钟(人有点懵,也有点累)
数据库的事务
事务的特点
同步和互斥,锁
输入一个URL,发生的过程
三面
3月18日
自我介绍
算法题:给一个数组(正负数都有),让你找最大子数组的和。(处理前缀和,O(N)时间复杂度)
算法题比较简单
智力题:给8个小球,7个质量相同,一个重一点,给你一个天平,称几次可以称出来。(2次)
这个题当时脑子比较清醒就一下想到了答案。
DNS 域名系统
HTTP和HTTPS的区别
HTTPS的SSL(TLS)协议
进程和线程的区别
进程通信方式
介绍共享内存通信方式
线程的通信方式
synchronized和volatile介绍
synchronized和volatile的区别和应用
说下java的GC算法
然后聊了自己大学打比赛,以及自己的学习方式
然后面试官介绍了字节跳动客户端相关信息
HR面
基本就是实习时间什么的
都是常规问题
已经入职了,欢迎大家加入字节跳动。
欢迎大家加群,群内部门大佬在线答疑,帮你解除疑问,打开通往字节的大门!
全部评论
(35) 回帖