字节跳动的Java岗位没要我,简历转到了北京的教育业务
同样的,先捋一下时间线:
字节跳动从3月就开始投了,当时还是什么都不懂的沙雕,投了两次暑期实习都挂在了笔试和简历筛选上,于是我开始学习算法和一些基础知识,今年六月又开始投字节,但投了两次都是当天或者第二天就流程中止,有点懵逼,又坚持不懈的投了两次,还是流程中止,灰心了。
7月13日——突然接到HR小姐姐的电话,告诉我的简历被转到了北京的教育业务这边,之前的部门就是不太符合,如果我同意在教育业务这边,那就安排笔试,都是算法题,两次笔试过一次就可以了。
7月16日——第一次笔试,三道算法题一个都没解出来,很大原因是因为刷leetcode都是给定输入和输出的,所以我写好后研究了多半个小时如何实现输入输出(被自己蠢哭
7月21日——第二次笔试,三道算法,一道因为运行时间限制过了40%,一道因为DP的终止条件漏了一个过了93.75%,还有一个100%,虽然没发挥好但还是抱有一丝期待的。
7月27日——晚上面完百度,字节HR小姐姐电话过来了,说我通过笔试了,如果可以就安排面试,定在了周三中午十一点。
7月29日——一面,视频面试。
整理一下面试的问题:
1、自我介绍
2、说一下C/C++程序写好到运行的过程都发什么了什么
3、说一下Java从字节码文件到运行在线程都发生了什么
4、客户端向服务端发一个包,到了网关这里,之后的过程
5、TCP/UDP的区别和优缺点
6、客户端查找东西,这个过程中服务端的详细过程
7、设计一个通信结构,采用TCP还是UDP,为什么
8、客户端发送一个信息,到Java这里与服务端连接,你采用的是什么协议
9、三次握手和四次挥手
10、四次挥手时会出现大量的TIME_WAIT是什么原因
11、TCP有没有什么方法可以防止这种情况的
12、说一下你的项目,项目里用的是哪个数据库
13、MySQL的事务四大特性以及原理
14、现在有一个表是记录了全班同学的成绩,要求一次查询各个成绩区间的总人数,说一下思路
15、说一下算法,有一个N层台阶,一次只能走一步或者两步,请问一共有多少次走法
16、排序算法,时间复杂度和空间复杂度
17、为什么快排的时间复杂度是O(nlog2n)
18、手写算法,有一组数字,用单向链表的形式存放,链表没有环,如何判断这组数字是不是回文数,要求不占用多余的资源,空间复杂度为O(1),原地处理
19、手写算法,一个升序数组,里面有重复的值,给定一个数找到这个数的最大索引,如:[1,2,3,3,3,4,5],那么3的最大索引就是4,二分处理,不能找到这个数再向后遍历,复杂度要为O(n)
面的时候还是很紧张的,第一次视频面试,然后在一些通信原理和网络那边没答上来,最后手撕算法链表也没写出来,本来是准备遍历再处理的,结果面试官听成暴力了,直接说这样子不行,我一下懵了就没啥思路了,刚才在回忆面试题的时候发现二分算法的一个语句写错了,怪不得面试官提醒我那条语句什么意思,真的紧张然后人傻了,本来感觉还行现在想想问题挺大的...