第一次面字节。
不知道为什么看大家都是两面三面的,只有我是四面,好慌啊...
已经hr面完了,希望我能够拿到字节家的实习offer,真的好喜欢他们家
分享面经给大家
许愿许愿许愿能拿到字节
一二三面同一天,每一面都有各种自我介绍
一个面试官大约一个小时,中间间隔10分钟
一面:
可爱小哥面试官
1.网络
传输层和网络层的区别
udp和tcp的区别
ip路径选择(顺便说了一下局域网的arp是怎么找的,然后到外网才是ip)[但是后来自己反思回顾发现ip路径选择自己没怎么说2333]
2.os (os没复习, 因为以前考太好所以有点太自信了....)
银行家算***吗?
(就记得每一步计算个安全序列,说了一下need和available大概是怎样怎样,但是没细说)
虚拟内存(忘了,就记得LRU置换算法【当时期待他算法题出LRU 23333】)
3.数据库
索引的结构 (B+树)
为啥用 B+ 树?
具体说一下B树和B+树的区别
事务是什么
ACID具体说一下
不可重复读是什么
mysql 怎么解决不可重复读的
(mvcc+排他锁)
了解mvcc原理吗?
(不了解,就知道个快照undo log啥啥啥的,但是很了解锁)
介绍一下锁的分类
间隙锁怎么理解
算法题:
课程表(拓扑排序)
课程表(拓扑排序)
智力题:
丢硬币第一个人赢了的概率(就是等比数列求和)
感觉自己回答得乱七八糟的, 希望小哥能听懂我在说什么....
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二面:
斯文老哥
1. 进程和线程区别
分别说明进程线程的消息通信的方法
不同主机之间怎么消息通信
2. 线程池作用
3. 自己项目里消息中间件消息的持久化、丢失等等等怎么处理的
4. 四次挥手中的time wait收到了很多消息是怎么回事(然而我一时脑抽忘了time wait到底是哪个阶段了)
5. 如何线程并发(加锁)
6. 写个 ATM 存钱取钱
(忘记掉加锁怎么写了, 知道加在哪个位置但是比较惨烈,后来想用信号量但是哈哈哈还是很惨烈以至于他怀疑我没做过多线程并发(os:我做过!!!))
存钱取钱还被我写成了转账orz
算法:
最大不重复字符串(双指针滑窗)
时间复杂度, 空间复杂度,怎么分析出来的
优化
(考虑了很多优化方法,但是都不怎么样, 后来发现原来是直接别遍历全部到底在中间加个判断break可以在一些case里面加速, 但总体来说最差复杂度还是O(n))
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
三面
和善的可可爱爱小哥
一开始就写题
(第一题太简单就忘了)
第二题.
计算第n项到第m项的和(前缀和)
(一开始纠结到底内存存不存得下,感觉应该存得下后来小哥跟我说不是考点不重要23333)
计算面积(二维前缀和)
就是中间我自己脑抽老是写错,忘记减一或者忘记加上本身, fo 了自己了
说一下k-means 的原理
说一下项目里算法项目的model大概是怎么样的, 自己有没有做数据处理还是就纯design和train模型啥的
(大概就记得这么多, 基本就是像朋友聊天一样傻笑hhhh)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第二天
四面
严肃讨论学术老哥
进程线程的区别
你觉得哪门课学得最好,我来问
(????其实都很好,就是都不想你问,嘴贱说了数据结构)
一百万个数范围在一百万怎么排序
(又一开始纠结内存, 忘记掉int到底能不能存一百万了,实际上是可以的, 然后老哥无语告诉我存得下不是考点23333
本来想直接回答 sort() 的实现原理的, 后来跟老哥探究了一下, 发现桶排序更好,这让我产生了为啥sort()是用快排而不是堆排或者桶排
真的学习到很多,感觉自己还没针对不同场景考虑过不同的排序算法的)
未来几年的规划(其实我还没想好,就随便讲了一下)
深度学习在不同语言下的应用(因为我说我只试过把网络放在django和flask框架下应用)
探究一下网络的可解释性问题(实际上就是我没啥文化论文看太少被老哥怼QAQ)
进来之后有没有什么想做的
说一下自己的优缺点
可能在我说优缺点的时候得知了我沉迷刷题又问了一下我的刷题量...然后就没问算法题....
三四面的面试官都说自己是交叉面的, 可能我太菜了要四面吧...
然后过了一天约hr面
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第三天
hr面
谈一下未来规划(还是没想好,又讲了一下,后来发现好像和四面不太一样QAQ不知道这样会不会被刷)
想在实习里学到什么
现在是在读吗, 为什么不上网课(3点上课, 喜欢跟小组成员面对面交流code)
能实习到啥时候,最快什么时候实习
有哪些offer和面试
某家和我们家你会选哪家?当然是字节
为什么?
ps 我自己嘴贱问了一句hr面刷人吗,结果小姐姐告诉我hr面也会刷人的, 我:QAQ这样啊...
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总之算法题没有出很难的dp或者逆序对线段树一类的,基础题也没有出很难
也没有问简历里用的框架和项目(复了好久的我好难过),因为我之前一直做算法相关的科研所以用python
也没有问我python的内存分配GC和底层原理
就是自己每一面回答得乱七八糟的感觉随时都有被刷的可能
许愿能够拿到字节实习的offer吧, 每一天的我都好焦虑...
希望大家都有好运。
全部评论
(2) 回帖