腾讯/字节/华为/携程 春招 佛系面经 (腾讯已OFFER)
写在前面:20年11月毕业一直在忙自己的项目不小心错过了秋招又差点错过了春招(是的我3月初才知道秋招是毕业前的那个秋天,我一直在等21年的秋天。。。)
三月才开始准备面试,从牛客网,ZH,CSDN等网站受益良多。
某天突然心血来潮,记录一下最近的面经回馈社会和自己哈哈哈哈~~~
一共申请了4家企业:腾讯,字节,华为,携程。
其中腾讯来的最顺溜,部门方向我也比较感兴趣。
字节三面挂了又被捞了然后卡了许久才来的hr面,但因为已经有了腾讯的offer了且offer快到ddl了,综合考虑后也就直接放弃了。
华为最早面。但是后面好像因为政策的原因过年前后面的offer都停发了。(所以21届的朋友如果现在还在等华为的最好同时找找别的公司哈!)
携程因为二面跟字节冲突了,但字节先定的时间的缘故所以申请跟携程改时间,但并没有得到回复。
先上主角(鹅厂已OFFER)
腾讯|客户端开发
3.26 22:00 腾讯一面
超级好的小哥哥。。超级好。。
给的两道很简单的题:连续数最大的和以及最长回文数!
然后是基本问题:
TCP UDP 的定义?在哪层?区别?
如何用Array保存二叉树?
分页和分段的区别?段页式?
线程进程?通信?定义?区别?
TCP 5层模型?
还有些零碎的不太记得了。。
小哥最后还好心的提醒我多去刷刷题!醒来后后发现二面通知。。
3.30 03:30 腾讯二面
内存中堆和栈的区别
动态链接和静态链接的区别?优缺点?
分页和分段的区别?Linux采用什么方式?
项目与子项目用的库的版本号不一致会怎么样?怎么解决?
MMAP?为什么高效?
红黑树?哈希表的区别?
TCP协议是如何实现拥塞控制的?
QUIC?HTTP?挖挖QUIC
数据库的索引类型?分别?差异?
如何在传输过程中探测网络带宽?
DNSPOD?
如果在传输的时候,发送方不管如何就死都要发一大堆数据过来完全不管接收方能否接收是否接收会发生什么?
视频/音频流如何传送?
DNS解析过程?
看视频网页的过程?
安卓如何让软件在后台持续运行?(流氓方法 或者/最好 Add to whitelist (https://juejin.cn/post/6844904023955341319))
虚拟内存细说?
算法题(腾讯云文档白板手撕):最长回文数
面完过个两个小时发现状态还是复试,但是会议链接消失了。。许愿HR面。
4.5号收到了另一次的复试通知,应该是三面。。
4.06 22:00 腾讯三面
项目,深挖项目
设计模式
SCRUM挖了挖
堆栈深挖(垃圾收集算法答得很细,垃圾收集器答得很细,新生代老年代,栈挖了挖(有个栈帧临界区啥的我没答出来))
排序算法挖了点(过程?好处?平时怎么做?)
Java int负数的二进制表示
深挖HashMap,ConcurrentHashMap,Synchronized关键字,Synchronized的锁的机制
深挖TCP UDP(从三次握手到四次挥手到流量控制拥塞控制)
手撕快排
反问,问了下这是第几轮,回答是技术面试的最后一轮:)
总结:问的问题很少,大部分时候都是我在说,说得很细。但是会一直问下去,跟着你的回答问。所以回答的时候避开那些不是很确认的东西。
4.09 04:00 腾讯HR面
在牛客许了个愿,然后第二天就看到腾讯HR面啦!!!!啦啦啦啦啦啦~~~
有没有什么要反问的?
自我介绍
在校情况(成绩?)
为什么回国发展?不考虑国外?
为什么本部门(具体啥部门不透露了哈)?
目前offer?为什么腾讯?
优点?为什么比别的同学好?
项目遇到了困难如何解决?
自主学习能力?
问题解决能力?
简历是后端为什么申请客户端?
客户端项目具体做了什么?
为什么适合客户端?为什么喜欢?
最近了解了什么新技术?
有发什么博客之类的吗?
兴趣爱好?
工作地点?
入职时间?
家庭背景?
薪水?
过了一个小时后查,面试已完成。许愿OC!
腾讯 后续步骤时间线,希望给到大家参考
4.9 HR面后1小时查询发现显示 面试已完成
4.11 云证
4.12 国内时间早10点左右OC,许愿offer!
4.13 收到录用函
4.15 收到正式offer
好啦,春招圆满了!
其余公司(华为/字节/携程)
华为是面的最早的,但听说后来公司政策变了就不发offer了。。
携程因为面试时间冲突的原因放弃了2面。。
字节因为我已经收到了腾讯的Offer就直接放弃了HR面。。
但还是把面经PO出来,希望多多少少能帮得到大家~~
华为|无线通用软件工程师
2.19 笔试
很简单的三道题
https://www.nowcoder.com/discuss/600431
Ac了两道多好像
2.27 在线测评
常规性格测试。。乐观点就过了嗯。。
2.28 20:00 华为 1 2 3 面
(写这个的时候已经离面试很久了,以下是回忆的起来的)
一面 (压力面,像是小时候的教导主任,不过人超nice)
项目
m*n 从最左上角到最右下角
还有一题忘了
二面 (人超nice,谦虚的像是个小学弟,像是他在请教我,但随意的指点霸气侧漏哈哈哈)
快排
最长回文数
红黑树记得吗?讲讲?
红黑树的插入删除各种自旋?
项目
三面 (人超nice)
人生理想
后序
3.17 入池短信(之前说是一直在审核。)
3.18 漏了一个华为的电话,国内半夜11点。。
3.20 刮奖出offer date,但od时间是北京时间3.19 10:50。没看懂。。
然后。。等啊等等到花儿都谢了。。。
N天后更新:听说所有华为的offer都暂停发放了??!
字节跳动|后端开发
3.11 笔试
网络上找的:
https://blog.csdn.net/wo9aiwuchunmin/article/details/114780259
https://blog.csdn.net/wo9aiwuchunmin/article/details/114780371
https://blog.csdn.net/wo9aiwuchunmin/article/details/114780724
https://blog.csdn.net/wo9aiwuchunmin/article/details/114781247
除了最后一题没思路,其他的其实很简单。没啥状态 只Ac了2道半然后半夜6点被电话打醒安排一面(本想约这边时间的当晚但因为要去滑雪所以安排到了一周后)
3.21 23:00 字节一面
线程 进程 协程 是什么,区别
TCP如何保证安全
拥塞控制
三次握手四次挥手
HTTPS和HTTP
HTTPS过程
GET POST
数据库四大封锁是什么,都解决了什么问题
MVCC
OOP
封装 多态 继承
IOC
AOP
HASHMAP实现及扩展
题:
加油站哪个站点开始可以走完全程
隔一个拿糖果如何拿最多
项目: Roadhub项目里面的职责
结束后3分钟电话通知二面
3.24 23:00 字节二面
介绍自己,介绍对面
项目项目项目还是项目。。就想要挖点东西问,我说了许多,就是不问,就问那些蛇皮的点。。就顽皮!
如何实现负载均衡?原理?算法?
分布式计算?
full GC触发?
GC具体讲讲?
抖音刷着刷着卡了,可能的原因有什么?怎么解决?网络上的原因?服务器的原因?
Java线程如何实现的?(理解错题了,以为是问java这个语言是怎么弄出线程这个东西的)
项目用了哪些设计模式?为什么要用?(你怎么不让我说是怎么实现的!!!)
你还会些啥我刚刚没问到的?(估计是不知道该问什么了。。)计算机网络?操作系统?JVM?Spring?
MVC说说?
AOP IOC说说?他们的实现?
四次挥手的原因?具体都做了啥?详细点。。
DNS的过程?
操作系统复制黏贴都做了什么?
AQS?
同步队列等待队列?
你的职业规划?
你觉得你跟同龄人比,优势在哪?
还问了我好几个听都没听说过的理论。。
心都凉了!!一堆没答好还有一些不会。。
结果过了五分钟,来了三面的电话!哈哈哈哈
3.29 02:00 字节三面
深挖项目,挖得很深
Spring 的一堆问题。为什么要用Spring Framework,深挖Spring Framework(不知道啊大佬!)
深挖IOC, AOP
深挖HTTPS
HTTPS中间人?(https://segmentfault.com/a/1190000013075736)
单元测试?
智力题:52张牌里5张同花顺的概率?
捡金币游戏:玩家在一条长度为 100 的通道上参加游戏,可以在通道上左右移动,接住天上掉落的价值不同的金币。人初始在 0 点出发,每秒最多可以移动 1 格(也可以在原地保持不动),只有在金币掉落的时刻,玩家走到金币所在位置才能收集到金币。 假设所有金币的掉落时刻 T 和位置 X,价值 V 都是已知的 ,求出最终玩家可以收集到的金币的最大总价值。(d[x][t] = Math.max(d[x][t-1],d[x-1][t-1],d[x+1][t-1]) + V[x];)
编程题磕磕碰碰的做出来了。。感觉有点凉。。
4.07 08:00 字节三面(第二次)
打电话过去问,之前的三面果不其然的挂了。。HR小姐姐直接帮我安排了另外一个子部门的三面!赞!
老好人老大哥。。聊了聊人生
挖了挖基础知识(面完倒头就睡了忘记面了啥。。)
编码题:N个有序数组每个M个数据,如何合并成一个有序数组。要求时间复杂度最低。(mergeSort类似)
智力题:二维地球,机场在12点。飞机满油可以飞行一半。所有飞机都必须要飞回机场的情况下,问要让一架飞机横跨时间最少需要几架飞机。
6架:
1 0 -〉 3 -〉 9 -〉 12
2 0 -〉 2 -〉 3 -〉 1 -〉 0
3 0 -〉 2 -〉 0
4 12 -〉 10 -〉 9 -〉 11 -〉 12
5 12 -〉 10 -〉 12
6 0 -〉 1 -〉 0 -〉 11 -〉 0
4.24 00:00 字节HR面
前一天通知过的第二天HR面。告知已入职腾讯,流程中止~~~
携程
3.18 能力测试
一堆选择题测你的反应能力?精神点差不多就过了 (后来搜了搜发现这好像叫行测?)
3.23 23:15 携程一面
题:
BST的实现(是的就是这么简单。。不过主要看你的实现方法,代码风格为主)
JVM 堆栈区别?里面有什么?
GC的算法?
对于线程来说,堆栈的区别?
线程和进程的区别?
线程和进程的通信/同步方式?
进程的切换?上下文保存在哪里?(保存到内核占用的内存中(系统内核),多核cpu每个核心都会有一块空间存储这部分寄存器数据)
开发过高并发的软件吗?高并发开发注意什么?
如何保证线程安全?
死锁的四个条件?处理方法?
Volatile说说?线程安全吗?(不!)
封装多态区别?
Final的三个不同地方的用法?(不小心连着上面的问题一起回答了,老哥笑了。。)
HashMap的实现?链表-》红黑树?冲突?扩展?
HashMap vs ConcurrentHashMap实现的区别?
TCP vs UDP 都是啥?区别?
TCP三次握手四次挥手?每次挥手都干了啥发送了啥得到了啥为啥?
HTTP 基于什么协议
TCP 4层 模型?都是干什么的?都有哪些协议?
多人协作开发?(忘了具体问了啥,git有关maybe)
Redis?(没用过)
常用数据库吗(很久不写query了,Hibernate JPA在手天下我有)
索引在读写上的区别
哪些地方索引会失效
123 NF?
索引的分类?(主键,唯一,聚簇都是啥?)
设计模式知道哪些?都说说都是些啥?
单例实现的两个方式?懒汉饿汉。。(忘了名字然后他说可能因为我留学背景说的都对但是名字好多都不知道。。话说为啥叫懒汉饿汉??)
总结:
问的很细。。会顺着你的回答问下去,问到你不会为止。。当然如果你答的更细他就不会问下去了。。
人超级nice,会给你很多提示。
就是。。是一大群面试官1 - 1面试一大堆候选者。。所以非常的吵。。怎么说呢?差点回答了一个别的面试官问别人的一个问题。。
Something like:哈?不好意思您说了啥?哈?携程?不是?那什么程?哦线程?哦哦哦进程啊!啥?哦是线程啊!线程咋了?
3.29 02:10 携程二面
国内时间一面当晚发现网站上显示进入二面然而并没有任何邮件通知。。
3.24早收到的二面邮件。。然而因为时间与字节三面冲突而字节又是先定的面试时间,发邮件给携程申请了更改时间但没回可能要凉。。
4.15 更新: 不知道是就没了还是说还在排时间,反正现在还是 申请状态:二面进行中
其它公司(凉经)
其实还投了一些其他的公司,但是由于各种各样的原因,都凉了:
百度(算错时间。。开车去滑雪的路上。。喝着Tim喝着喝着登上笔试网站发现上面写着:笔试结束,谢谢参与。。)
京东(至今还是已投递,未笔试。。不知是何缘故。。但是前一阵子貌似收到了京东的校招宣传??)
小米(至今还是简历筛选。。可能简历太垃圾直接没看上?)
各大证劵公司(3.31投的,可能还没到那一步,不过据说有些公司需要你有证劵的一个资格证。。然而人不在国内也没法考。。)
阿里(今年阿里貌似没有春招?也可能是我去太迟了。。不过后来在脉脉上有个老哥说可以用社招校招进去。。但是那时候我已经拿了offer了也懒得再折腾了。。)
写在最后
为什么叫佛系呢。。因为真的很佛系。。一共就投了4家公司。。不过昨晚睡前突然想到如果这4家都没有给我offer我该去哪。。😂😂😂
Anyway,可能也是在安逸的环境里待得太久了,我看了脉脉上好多投了20个-30个的,我真的只能看着这样的战绩躲在墙角自愧不如。。因为时差的缘故,常常半夜起来面试,说实话4个公司面下来也算是筋疲力尽了。。
写写感慨(根据我自己的理解,有错勿喷):
- 面试这事儿吧,跟大学的考核不一样。面试官并不想刷你。他只希望知道你的水平到底如何。所以对于应届生而言,最好的办法就是问一些基础知识了。所以基础一定要打牢。
- 面试除了实力,运气也很重要。期间我看了好多好多的面经,有难有简单的。难得看了我觉得我这几年白学了。。简单的看了我觉得我白复习了。。所以你唯一能做的就是在有限的时间里提升你自己,尽可能多的学会知识。尽人事听天命,真要考到不会的也就随缘了。
- 所以啊:拿到了offer并不能直接代表你的实力超过了所有的对手,很可能是你的运气比较好(比如我哈哈哈)。没拿到offer也不代表你的实力差,真的可能与别人所缺的,就只是一份运气。
- 不要看轻自己,也不要过度自信。相信自己,一定能行的。
我看网络上有人讨论八股文。。我只想说,为了面试,肯定还是要看看的。但最好在此之上尽可能的去理解。除了查缺补漏这类的理由之外,至少这样被问到说起来也会显得有底气。技术绝不是背能背出来的。
然后是面试的一个小技巧:尽量的由你主导整场面试。
主导的方法嘛,有那么几个(也不知道对不对,具体看情况使用吧):
- 会的一定要多说。比如你计网比较擅长,那你就多说。比如问了你访问网页的过程,你就连着DNS解析,三次握手四次挥手,HTTP,HTTPS这些有的没的一起说出来。当然可能你提拥塞控制这种跟问题基本没啥联系的答案就有点过分了。因为时间就这么长。。你多说了他问你不会的几率就少了。而且还能显得你技术栈很深。
- 不会的一定不要提。除非你特别会或者你特别能吹,不然不会的一定不要提。你说你用过没人在乎的,别人在乎的是,你到底会不会这个技术?比如Spring,IOC AOP 到底会不会呢?写代码谁都会,但实现起来背后的这些底层,逻辑什么的,才是最重要的。
- 引导面试官问。刚刚说会的一定要多说。但是有的时候可能并不是很好让你把所有的知识点一股脑的都说出来。这时候,更重要的是,要会引导面试官问你那些你想让他问的。方法也很简单。可以在回答的时候顺带提到,稍微说两句让他注意到你说的这个点。当然,最重要的还是简历。简历里写一些你想让他问的他自然就会问了。
最后的最后,面试是一个双向选择的过程。要双方看对眼才行。所以,面试并不仅仅是用人单位来面试你,同时也是你来面试用人单位。所以反问环节一定要利用好,得到自己想要的一些答案。
最后的最后的最后,祝大家都能收到自己想要的OFFER!有任何问题欢迎在下面留言哈,看到了就会回答(不过因为在准备回国的原因,所以可能会答复的比较慢)。
九宫格祈福
#面经##腾讯##携程##华为##字节跳动##Java工程师##校招#