楼主985本,双非硕。秋招开始以来前后面了字节、京东、快手、腾讯和阿里五家,前三个已经拿到了意向书,AT也在等意向书,准备结束秋招了。在准备秋招期间,牛客论坛对我有很大的帮助,所以想总结一点秋招的经验和遇到的手撕算法题来回馈牛客。
经验:
其实也谈不上什么经验,只是说一下我感觉对我秋招有帮助的事情吧。
首先,很重要的一点就是秋招投递要尽早,能投提前批的话一定要投。我京东和快手都是投递的提前批,没有参加笔试。虽然不参加笔试的话,面试中仍然会问算法题。但是感觉面试中遇到的算法题没有笔试那么多妖路子,都属于比较常规的题目,而且有面试官给提示,也会简单一些。而且提前批HC较多,相对来说也不太会因为HC而挂掉。
其次,尽管很多人吐槽公司考手撕算法题以后根本不会用到,但是毕竟形势所迫。如果能把算法题秒了,真的会很加分。所以建议有空的时候还是要多刷刷题,特别是LeetCode的热题和剑指offer的题。我只刷了400多道题,在面试中就遇到了好几道原题或者类似的题。
最后的话,由于我投递的都是后台开发或者基础平台之类的岗位,所以感觉底层基础还是很重要的,包括但不限于操作系统、计算机网络、体系结构、数据结构和算法之类的。甚至偏基础的岗位还会问操作系统内部实现之类的问题。
手撕算法总结:
1、 字节跳动:
字节跳动其实不是我主动投递的,是春招一面挂之后,又被数据中台的部门捞起来了,所以连带着春招遇到的算法题一起总结了。
春招:类似LeetCode 72.编辑距离
(1)有一个字符串,判断QWER出现次数是否相同。
(2)如果次数不相同,如何修改可以让他们相同。
二面:
设计一个带TTL的容量有限的hash map,在TTL=0后从map中移除。在装满后,如果还有元素进入,将TTL最小的元素移除。
2、 快手:
一面:
(1) 链表反转。
(2) 二路归并。
二面:LeetCode 42.接雨水
其实自我感觉二面基础问题答得并不好,可能就是算法题做的不错救了我。
3、 京东:
一面:
(1) 一个用hash map统计的题,具体的记不清了。
(2) K个一组,反转链表。
4、 腾讯:
一面:
(1)按照左根右根的方式序列化二叉树。
(2)根据(1)的序列,反序列化一颗二叉搜索树。
面委:
(1) 判断链表是否有环。
(2) 二分查找。
(3) 子集问题。
(4) 逆序数对问题。
(5) 反转链表。
阿里可能是因为春招笔试全AC了,又在阿里实习过一段时间,并没有遇到手撕算法题。主要问了项目和基础相关的问题。
楼主参加的面试也不是很多,也只能总结出这些东西了,希望能对牛友们有些帮助。祝各位牛友早日拿到满意的offer。也许愿自己早点收到腾讯和阿里的意向书。
全部评论
(3) 回帖