字节跳动抖音后端开发实习生面经
5月7日 update:收到offer辣,接下来该找房辣
此段置顶:办公地点在上海市闵行区宜山路2000号利丰广场,有没有哥哥知道旁边哪里有房子可以租,或者有没有合租意向的哥哥,蟹蟹(答主性别:男)
由于疫情延期开学,在同学的怂恿下,在三月底尝试投了一下腾讯和字节跳动。
感谢牛友们的面经,这一个月学到不少基础知识,┭┮﹏┭┮
腾讯PC端开发实习生电话面(4月1日)
1、自我介绍
2、输入url到显示这个页面过程
3、https和http的区别
4、C++内存区域的划分,堆、栈的理解
5、new和malloc的区别
6、字符串怎么存储的
7、list和vector区别
8、Map和HashMap优劣,查找的复杂度
9、C++面向对象的三个特征的 封装、继承、多态 是什么、用途、怎么实现。菱形继承可以吗,为什么
10、计算机网络分层模型,各层用处
11、TCP和UDP的了解,优劣,应用场景,三次握手四次挥手
12、客户端开发了解过吗 ios Android Mac
喜闻乐见 手撕算法题(口胡)
1、给你一个rand5函数,让你实现一个rand7函数,追问,给你rand5和n,实现rand n(rand5 实现 rand n是真的没想到怎么做)
2、topk,出现次数最多的 k 个字符串(秒,用unordered_map存下每个字符串出现的次数,然后用一个优先队列维护前k个即可)
3、简单dp,n个箱子每个箱子一个val,不能取相邻的箱子,最大价值(秒, dp[i] = \sum_{j=1}^{i-2} max(dp[i], dp[j] + val[i]);)
由于是第一次面试,没有准备,计算机网络分层模型也忘了。
大概是由于算法题口胡的还可以,所以给了一面机会吧。
腾讯PC端开发实习生一面(4月3日)
自我介绍
上来先手撕代码
1、在数组中二分查找某个数字,不存在返回 -1,秒,追问,可能有重复值,找最右边的值并且解释了一下思路(秒)
2、若干个人,每个人一个年龄,选一个时间复杂度最低的方法排序(先说了快排,然后说桶排,秒)
这里给自己挖了一个坑,面试官给的是vector<int>,没给个数,然后我写个一个v.resize(),然后面试官追问这个和reverse区别,不会。。
1、static作用,用static修饰成员函数呢
2、inline作用,为什么可以优化,和#define宏定义有什么区别
3、多态是什么,静态多态和动态多态,引出虚函数和虚函数表,表长什么样子
4、堆、栈的区别,存放数字的话,哪个效率更高(这里扩展了一些应用场景)
5、问操作系统和计算机网络学过吗?学过!进程和线程的区别(我:不知道)
估计这个时候面试官都无语了。
6、用过多线程吗?同步和互斥听过吗(没有)
面试官无语+1
7、输入url到显示页面的过程,涉及到哪些网络协议
8、TCP和UDP区别,扩展到拥塞控制,累计确认等等
9、window消息处理机制
反问:
1、你觉得我和这个岗位要求的差距在哪里,或者说不足在哪里
然后中间被腾讯捞了两次,一次给了笔试题,让拍下自己答题的过程发回去,我一拿到题人都傻了,全是应用题,没有一个算法题,果断咕了
另一次有点迷之操作,某天下午腾讯hr打电话来问有时间吗,电话面一下,然后我说明天吧,hr说ok,然后hr的电话在4-5天后才打过来
期间hr没有给我说过或者发过换时间之类的消息,然后hr打电话来问有时间吗,当时在上课,说现在没时间,然后下课一看,灰了。
由于字节跳动的忘记录音了,尽量回忆一下。
字节跳动后端开发实习生一面(4月14日)13:00
自我介绍
手撕代码:
1、给二叉树的前序遍历和中序遍历,还原二叉树并输出后序遍历。(秒)
2、给出链表 1->2->3->4->5,输出 1->5->2->4->3,就是输出一前一后的遍历顺序,要求空间复杂度 O(n)
想了半天不知道怎么还原,给出了一个复杂度较高的做法,中间面试官提示了一下,没明白他的意思,然后面试官让我实现一下我的写法,然后我写了个递归每次取前一个再取后一个,遍历长度/2 的次数,直接返回链表后顺序输出。
3、给n个篮子(不是环),每个篮子ai个苹果,每次只能移动一个苹果到相邻的位置,求每个篮子苹果相等的最小操作次数,只要求说了代码思路(前面直接说了一个错误贪心方法,然后在面试官的提示下改对了思路,没让写代码)
1、事务是什么,四个性质,索引和联合索引,引擎有哪些
2、抖音实现关注和被关注,数据库怎么建表
然后听到面试官离开了房间,我觉得我二面都没了,然后就在座位上自闭,然后过了10分钟,二面面试官进来了
字节跳动后端开发实习生二面(4月14日)14:00
自我介绍
手撕代码:
1、判断一个数是否是完全平方数(秒)
2、给一个数开根号,小数点五位(秒)
1、打ACM竞赛碰到的最大挑战
2、淘宝天猫经常放出大量优惠卷(满200减100),其中有些优惠卷只能用于指定商品,怎么求出最大的优惠价格
3、服务器负载均衡怎么实现的,分布式系统呢
4、TCP、UDP区别,三次握手四次挥手
现在还有时间,我们再来个算法题吧(我:一脸期待)
二面的时候感觉自己应该有三面了,因为面试官对我的算法和代码水平给予了较高的评价?反正就是感觉应该有三面了。然后次日接到三面通知了。由于前面几次都有些基础没答好,二面到三面之间在恶补基础知识。
字节跳动后端开发实习生三面(4月28日)17:00
跳过自我介绍
1、给一个矩阵,求最长下降路径长度。(从小到大排序,遍历一次,或者记忆化搜索)
4、有什么爱好吗,然后随便聊了一些
字节跳动后端开发实习生hr面(4月29日)17:00
先通知面试全部通过了,然后问了一下什么时候能来,实习多久,本科毕业是否工作,然后讲了一下有转正机会,然后offer要审批,节后审批好了会联系你。