(后端实习)字节跳动+腾讯面经(已拿字节offer)

更新:算法题简要题解

wxg一面

1.topk问题:堆

2.复制二叉树:先遍历一遍,复制一棵普通二叉树,然后用unordered_map映射两棵树的对应节点,在遍历一遍给随机指针赋对应的值即可。

3.感觉是acm风格题,题意具有迷惑性,看破后就是预处理+多重背包

csig一面

1.地雷生成:将n*m个格子放入vector,然后洗牌算法打乱取前k个即可

字节跳动一面

1.leetcode 152

2.leetcode 853

字节跳动二面

1.先二分出k的位子,然后这个位子开始二分左边有x个,那么右边就有k-x个,根据这个情形是否是我们需要的答案就可以判断了。

2.栈+dfs+时间戳标记

3.裸的ac自动机

换部门一面

1.大整数加法

2.leetcode 470

3.面试官说是网上有,表示没找到,我的做法是unordered_map统计每个串出现次数,然后讲次数排序就得到了前k大的次数,因为要严格按照顺序打印,(例如k=1,但是出现次数最多的有两个字符串),所以再去遍历原string数组,然后查看这个string的次数是否属于前k大,(这里可以维护一个mutil_set),找到就删去即可。

换部门二面

1.leetcode三数之和

2.leetcode双指针

3.直接dfs大力搜,可以给面试官分析一下复杂度,因为每个格子除去移动过来的方向,只可能有三种方向,那么整个dfs树可以看成是一个最多只有三个子节点的数,并且越搜索到后面其实会越窄,深度最多4*4

,所以上界只需要计算一个等比数列 1 3 9 ....,而且这个上界距离实际复杂度非常的远。

换部门三面

表示第i步走到(j,k)有多少种方案,最后统计出所有合法方案,除4^k即可,需要滚动数组优化一维空间。


因为是做ACM的,所以此面经可能对于大多数人不具备参考价值,但牛客还是有不少acmer的,所以还是写了一下。辛辛苦苦啃基础书看牛客面经,特此还愿。

年后开始投简历,方向是后端开发,字节是小伙伴内推的,腾讯是想做游戏自己官网投的。

微信后台开发

wxg面试官先打了电话问是否有意向,可能是因为官网投的互娱,肯定同意啊,然后面试官介绍他们是微信后台开发,说了下具体干啥的,聊了快有半个多小时了,感觉他们很重视,所以对腾讯特别有好感,然后约第二天下午面试。

wxg一面

每题都是写完,面试官看一遍然后讲一下复杂度,最后才知道面试官是好几年前的金牌。。。
1.topk问题
2.给定一颗二叉树,每个节点都有一个指向树上随机节点的指针,拷贝这棵树
3.给定一个长度n的数组A和一个数k,问你能否从数组A中取出若干个数使得它们的和为k的倍数。就是整除的意思。
n[1,1e6],A[0,1e9],k[1,2000],时限两秒
做法:处理一下数组A,每个值mod k然后统计次数,再做一个可行性背包就行了,因为考虑到次数很大而且面试力求表现,写了二进制优化。

然后瞎聊天,聊得很愉快

官网状态更新复试。。一直等然后有一天就灰了

腾讯第一次鞭尸,csig健康事业部

也是先打电话约第二天面试,面试官最后还特地提示好好准备哦!

一面

1.扫雷地雷生成,n*m矩阵生成k个雷。

2.输入网址回车到显示页面的过程

3.讲一下c++内存

4.虚函数了解吗

5.写一下多态,然后围绕着这个展开问了很多

6.stl了解吗?push_back复杂度证明,扩容机制

还有一部分不太记得了,抱歉。

二面

效率很高,上午面完下午就约晚上二面。

没想到这次不走寻常路,准备的完全没用。。。。

1.面试官:看你是做ACM的,你在这个过程中有什么总结吗?

我:没太明白他想问啥。。就随便说了一下自己的经历。

面试官:不不,我指的是对于一类问题有什么总结之类的吗?

感觉答的不太好。。。

2.面试官:竞赛中,你在团队主要负责哪些方面呢?

我:数据结构,图论,dp,这些比较擅长把,数论筛法都分给了队友,其他方向基本我也可以。

面试官:那我问你个题吧,给你两个队列一个栈,栈是空的,问你能不能把其中一个变成另外一个

我:(一开始脑子短路了,以为队列只能出队进栈,然后出栈进队,利用栈去完成。)想了一会儿感觉只能模拟,就说了应该模拟就可以,给他说了咋做。

面试官:我们可以先看下元素是否满足要求,其实可以直接判断他是否可行的,你再想想

我内心:。。。我默认元素集是一样的啊,想了一会儿想不到了。。。

面试官:其实无论如何都是可以完成的,这个后面你可以去网上查一下。

我:内心吐血(啥玩意啊,面完才想通了,一个队列自身出队再进队,这样相当于移动了元素的位置,然后直到另外一个队列的队头相同就可以把这个放进栈里存起来了,问题是我脑子想当然限制了这些操作,默认以为只能出队进栈,出栈进队,有苦说不出。。。)

3.面试官:看你给学弟讲过课,你给我讲一个算法吧。

先给他讲了一下迪杰斯特拉

面试官:讲的还可以,但我是会这个算法的,所以我听得懂,balabala

下面就是瞎聊了。

4.面试官:再问一个工程上的问题吧,在一张图中有两个点,他们之间什么情况我们统统不知道,你怎么去找到他两之间的道路呢。

我:想了半天也没憋出什么来,双向bfs?dij?条件太少了吧。。。。胡扯了一下

面试官:你听A吗?

我:。。。。。。当然听过,给他说了一下A的思想,然后解释了一下因为A的估值函数不好找,所以竞赛中一般不怎么用。

面试官:工程上这是非常有效并且实际使用的一个方式,然后解释了很多。

5.对未来的职业有什么规划吗

反问环节,聊天。

感觉面得很烂。

不出意料第二天灰了。

腾讯第二次鞭尸

没打电话,直接邮箱收到了面试邀请函,上面写的是业务运维??????

直接拒了

字节后端开发一面

1.dp最大连续子序列乘积

2.给定n个车的初始车速,方向是相同的,问过了无穷大时间后,有多少堆车。

3.证明一下push_back复杂度

4.unorder_map,map区别,然后延伸到了红黑树,追问了一些细节

5.瞎聊

一面自我感觉非常的烂,因为是第一次面试,非常紧张,前面两个简单题目浪费了很久。小伙伴是他们部门的,所以还是给了二面的机会(感谢小伙伴的大面子)。

字节后端二面

1.给定一个升序数组,再给定一个k(在数组中),找到离k最近的c个数中的最大最小值。意思是和k绝对值的差最小的那c个数字,c可能会特别大,要求最优解。

2.描述了一个业务场景,然后面试官编不下去了,直接说给你一个有向图,输出所有的环。

3.又开始描述场景了,说头条会有很多的用户评论,但是有一些敏感词是不可以发出来的,我们有这个敏感词的清单,如何去检索评论里是否包含敏感词。

4.说一下虚拟存储器吧。

5.聊一下竞赛的看法,给我介绍了一下部门对实习生的情况

6.瞎聊

字节后端三面

改了两次时间。。。。然后和我说部门没hc了,感觉还是自己太菜了。

hr说感觉挺对不起我的(猜测是朋友的面子,毕竟是一个部门),主动说可以帮推荐给其他hr看看。

换部门重新面试

一面居然是个小姐姐,万万没想到

小姐姐特别态度特别好,气氛全程都很轻松,五星好评

1.说一下数据库的索引吧

2.数据库主键xxx,数据库xxxxx

(数据库还没复习,简历也没写啊,球球姐姐您别问了),统一回答都是不会,

但是我准备了数据结构所以把b树,b+树,b*树都给讲了一遍。估计姐姐看我都快自闭了,说问点别的吧。

3.用过ping吗, 是什么协议

4.数据链路层是干嘛的

5.TCP挥手为啥是四次

6.知道syn泛洪攻击吗?有什么处理方案吗?

7.输入网址到显示页面的全部过程

8.arp协议是咋样的,有安全问题吗?具体是怎样的?

9.https知道吗

10.https的连接过程,这个说的非常详细、非对称加密、对称加密、hash、证书、握手信息。

11.证书机构名字是啥? (黑人问号脸,回答了CA)

12.知道哪些加密算法?

面试官:我们来做点题吧!(终于来了),看你表情很期待吗?

我:挺期待的。

1.大整数加法

2.random7构造random10(翻车了,回头网上查了一下感觉很巧妙,没做过真不会。)

3.给定string数组,严格按照出现顺序打印出现次数前k多的字符串,复杂度最优

第三题我的做法小姐姐没理解,然后给了个案例我两一起走一遍。小姐姐明白后说:哇哦,这样也可以。

二面

二面面试官挺好的,评价说我是他面过的候选人里coding能力数一数二的。

1.有很多处于close_wait的tcp连接,分析一下原因

2.继续说一下处理方案

3.全双工、半双工、单工说一下

喜闻乐见的写题环节

1.打印数组中三个元素相加为0的组成方案

2.找出字符串中最长的不重复的连续子串

3.4*4的带权矩阵找从(0,0)到(3,3)权值和最小的路径

4.聊对竞赛的看法,问为啥想来实习

回答:打竞赛也要恰饭的。面试官一脸憋笑。。。

5.对于工程和竞赛不同做好了心理准备吗

聊天

三面

感觉是个大佬,气质和谈吐非常流弊!

互相自我介绍,受宠若惊。

然后让我自己说了一下前两面都问了啥,自我评价一下自己前两面的发挥

然后聊了一会儿。

喜闻乐见写题

1.给定n*n的矩阵,一个坐标(i,j),再给一个k,问从这个坐标走k步没有走出矩阵的概率是多少。

写完解释一下思路,然后问了一下可能存在什么问题,int可能会爆,最后计算概率会有精度误差.

面试官:算法题对你应该不是问题,前几面面试官对你评价都很优秀,看你数据库不太行,我们来设计数据库吧。

2.教师、学生、课程、教室。

要求查询学生课表、老师课表、教室安排情况。

磕磕巴巴给写出来了,被挑了很多问题,并且从简单的情况拓展了很多,大概就是数据库三范式的要求吧。

面试官:你算法底子非常扎实,的确是做竞赛出身的,但是工程上的能力我觉得距离实际工作还有一段距离,听到这里有点难过以为要挂了。。。。

后面就是聊能实习多久,啥时候来,如果你实习表现ok我们给你正式校招offer你愿意留下吗,讲了很多。

然后瞎聊。

三面面试官说第一题对我的预期是10分钟搞定,还好勉强完成。。。。

hr面就问了入职时间,能干多久,转正愿不愿意留下,介绍了待遇,10min

10min后,发offer,这个真的有被吓到,因为看牛友都是审批啥的

没了

以上都是凭记忆写的,有遗漏请多多包涵。

#字节跳动后台面经##字节跳动##腾讯##实习##C++工程师##面经#
全部评论
想起了我拿了几个金奖的舍友 流下了不学无术的眼泪
3 回复 分享
发布于 2020-03-23 23:59
蹭楼主喜气希望也能拿字节offer~
2 回复 分享
发布于 2020-03-23 17:11
羡慕啊,自己也要加油了!
2 回复 分享
发布于 2020-04-08 14:54
为啥收藏40+,点赞才10个
1 回复 分享
发布于 2020-03-24 08:33
楼主问下  给定n*n的矩阵,一个坐标(i,j),再给一个k,问从这个坐标走k步没有走出矩阵的概率是多少。 这个走出矩阵是指走到右下角的点吗  能具体讲讲思路吗
点赞 回复 分享
发布于 2020-03-23 17:36
看了之后发现自己好菜,给acmer丢脸了
点赞 回复 分享
发布于 2020-03-23 18:58
楼主最后进了哪个部门啊?后端开发已经没hc了嘛
点赞 回复 分享
发布于 2020-03-23 21:42
😂为啥腾讯和头条都问了证明push_back复杂度的问题,神奇
点赞 回复 分享
发布于 2020-03-23 22:09
楼主是acm金嘛~
点赞 回复 分享
发布于 2020-03-24 00:05
同为acm最近也在面试😆
点赞 回复 分享
发布于 2020-03-24 02:54
吸吸欧气!
点赞 回复 分享
发布于 2020-03-24 07:12
同 ACM 党,不过腾讯一遍过了就没投字节了 本来字节想直接拉面试的(在我什么都没做的时候), 但是日常实习要求时间没对上就直接拒了
点赞 回复 分享
发布于 2020-03-24 09:54
欢迎参与#面经征集# 活动!详情:https://www.nowcoder.com/discuss/378852
点赞 回复 分享
发布于 2020-03-24 11:07
楼主巨巨,请问你网络看了多久啊?
点赞 回复 分享
发布于 2020-03-24 14:54
楼主第一志愿是后端开发实习吗 没hc了
点赞 回复 分享
发布于 2020-03-24 17:53
楼主是男孩子还是女孩子
点赞 回复 分享
发布于 2020-03-24 22:57
zwg txdy!!!
点赞 回复 分享
发布于 2020-03-25 09:55
所以最后去字节了吗
点赞 回复 分享
发布于 2020-03-26 11:33
😅想问下楼主是哪个部门后台开发没有hc了。。谢谢
点赞 回复 分享
发布于 2020-03-26 14:47
复制二叉树的话,只需要用先序遍历+传参传递父节点就可以建新的树了吧,不需要用到map?
点赞 回复 分享
发布于 2020-04-01 17:21

相关推荐

10-17 10:05
已编辑
北华大学 全栈开发
牛客872465272号:掉头发了哥
点赞 评论 收藏
分享
牛客5655:其他公司的面试(事)吗
点赞 评论 收藏
分享
15*12,996,裁应届,想招cppjavapython算法的全才是吧,还多选题少选无分,咪咕你真无敌了
Devs008:是呀,选择题太抽象了,还搞个什么比赛,笑死了
投递咪咕等公司10个岗位 >
点赞 评论 收藏
分享
40 206 评论
分享
牛客网
牛客企业服务