楼主目前研一下学期。一面已过。发个贴保佑二面。。顺便问一下大佬们,字节一般需要几轮技术面?
面试软件用的字节自己的飞书。面试官掉线了好几次。。。
0.开局自我介绍。
1.首先是语言部分:
go和java的区别
协程与线程的区别
java的hashmap的原理
java的接口与抽象类的区别。什么时候用抽象类,什么时候用接口
2.计算机网络部分
tcp与udp的区别
tcp如何保证可靠有序
tcp的拥塞控制
服务端给客户端发送123个报文,收到了3的ack,下一步发哪一个报文
http每个版本的区别
http 1.1 中流水线阻塞的原理,http2中多路复用的原理,为什么不阻塞了(这个是真的不会。。)
https秘钥交换过程
对称秘钥被黑客截取了咋办(感觉问的有问题,我就回答说对称秘钥不可能被黑客截取,因为对称秘钥是使用服务端公钥加密过的,只能使用服务端的私钥解密)
https的公钥被劫持的咋办(ca证书)
3.操作系统部分
几种io模型
说了同步阻塞,同步非阻塞,异步非阻塞
同步非阻塞与io多路复用的区别?(不知道,求大佬们解答)
io多路复用复用的什么部分(猜了一个发射端缓存,也就是buffer,网络编程这部分真的没咋看,得加强一下。。)
4. 数据库部分
mysql索引优化(最左原则.....)
聚簇索引与非聚簇索引
非聚簇索引怎么查的(回表)
索引失效
redis(不会redis,问的问题忘了,面试官问了一道发现我不会,也就没问)
5. 数据结构部分
给定一个数据流,流里面是一些单词,要求使用一个数据结构统计单词的个数(hashmap或者字典树)
给定一个单向有序链表,要求使用一个数据结构能快速查出给定节点值(跳表,我觉得在链表上建b+树也可以)
6. 算法做题
使用自己的ide。
lc的链表对折那道题。
20分钟不到,需要自建节点,自己在main函数里实例化链表然后测试
这道题不难但是又臭又长。。首先要用快慢指针找到中点,然后将慢指针后面的部分翻转得到另外半个链表,最后将两个链表合并。
写出来了,运行发现有错误。。。没debug一会儿,面试官叫我停了,把代码复制给他然后就匆匆忙忙结束了。
没有反问环节。。
总体感觉表现的不是很好,很多问题说的语言不顺畅,还好过了。。面试官蛮不错的,遇到不会了就跳过,也不追究。
全部评论
(2) 回帖