背景
学历:
双非一本,软件工程大四在读
项目:
一个分布式的商城管理后台,简单的分布式系统
一个Spring cloud (nacos + gateway) + security + netty实现的分布式聊天室
实习:
2021.4 - 2021.8 腾讯IEG
更新:
add: 1.23 hr面
add: 1.24 已oc,准备沟通
add: 1.26 已offer,准备上班
一面(一个半小时):
算法(一个小时):
topK,分别写出范围小、范围大、范围超大(说思路)的情况。
答: 分别是计数、快选、分治
超大数计算,两个长度>100的数字进行加减法, 要考虑负数。
答:很简单,处理好进位借位就行
基础:(半个小时,时间比较短,感觉因为wxg用的是C++, 而我用的是Java,所以问的不多)
堆和栈的区别是什么,哪一个需要程序员控制?
Java加锁有几种方式?
不同进程中malloc函数返回的值会是相同的吗?(会,因为有虚拟内存)
栈和队列在操作系统中有哪些应用场景?(递归和调度)
Java的GC,新和老分别是什么算法?为什么?
TCP和UDP的区别是什么?应用场景是什么?
你觉得微信聊天中哪些功能是UDP哪些是TCP?(聊天tcp、视频udp)
反问:
工作地点?(广州)
能给我一些建议吗?(对于一个知识点要深入挖掘)
二面(一个小时):
算法(40分钟):
剑指offer原题 1-n中出现了几次1
答:裂开来,虽然是剑指offer原题但是我没做过,现场推导了一个O(n)的数学法。面试官问有没有更好的方法,我说不会了,再推下去这面试就太久了
基础:(20分钟,我觉得时间短的原因同一面)
Java里HashMap长度为什么是2的幂次?
HashMap如果不给长度,第一次初始化是在什么时候?(put方法里)
如果让你设计一个线程池,你会考虑什么东西?
为什么要做一个聊天室?
NIO的buffer区是双向的吗?
你为什么用nacos,为什么不用eureka?为什么用gateway不用zuul?你怎么思考的?
反问:
没有反问环节,问完最后一个问题面试官说:总体不错,算你通过了。
然后就说要去开会了,直接退出了会议。
虽然没有反问环节但是我一点不介意是怎么回事?(狗头)
---------------------------------------面委分割线---------------------------------------.
面完二面大概一个小时,HR小哥哥打电话约面委,直接告诉我接下来会有两场面委,并且一次约了两场的时间
很慌,因为之前听说过面委的可怕,从收到面委邮件就开始紧张
有朋友问什么是面委?
面委全称面试委员会,是微信特有的一个面试轮次。面试官都是超级大佬(最低也是总监),且面试过程都是黑盒,面试者不知道面试官是谁(比如跨部门的大佬),面试官也只能看到你的简历和面试的岗位。面委会对面试者的能力进行再次考核,以便进行定岗定级。
一轮面委
基础:
实习做了什么?遇到过什么难点?是怎么解决的?
你遇到问题是更喜欢自己找答案还是去问别人?(先自己找答案,实在不行再去问。这样可以告诉别人我做了什么)
为什么用协程不用线程?(因为协程更轻量级)
如果你的机器都跑不满,进程和线程和协程又有什么区别?
线程一定比协程更好吗?
TCP和UDP的区别?
http和https的区别?
https数字证书交换的过程详细说一下?(这里说的有点乱,但是大佬说问题不大)
TCP的accept()函数发生在第几次握手?(大坑我超,直接说是三次握手之后,大佬笑了一下说没坑到我)
进程调度有哪些算法?(按照批处理、实时、交互式区分了一下)
那在Linux里调度用了什么算法?(都不是,用的完全公平调度程序CFS)
11.1. 哦?介绍一下CFS?
Linux里进程通信有几种方式?(我刚说:可以分为消息传递模型和共享内存模型,大佬打断说ok了不错不错)
进程同步有几种方式?
介绍一下管程?
CAS的原理是什么?(TSL指令,最终会在CPU上会执行LOCK CMPXCHG指令)
算法:
给你一个数组, 把他变成大顶堆/小顶堆
反问:
以您的角度,我需要补充什么样的知识?(继续保持挖掘深度的热情,看得出你也比较有想法,要明白一切靠自己)
二轮面委
没有基础面试
算法
给一个二维数组, arr[i][j]代表点i -> 点j的距离,从0号点开始出发,遍历每一个点最后回到0号点,每个点只能经过一次,输出最短路径和路径的权值和
答:经典问题了,最后用哈密顿图解决,不过感觉dij也能做,有兴趣小伙伴可以研究一下。(但是处理输出处理了很久= =)
某城市有两种颜色的出租车:蓝色和绿色(市场占有比例为15∶85)。一辆出租车夜间肇事后逃逸,但还好当时有一位目击证人,这位目击者认定肇事的出租车是蓝色的。但是,他“目击的可信度”如何呢?公安人员在相同环境下对该目击者进行“蓝绿”测试得到:80%的情况下识别正确,20%的情况不正确。请问可以算出在有目击证人情况下肇事车辆是蓝色的概率为多少?
答:经典贝叶斯公式,注意识别正确有两种可能,分别是正确识别蓝车和错误识别绿车,最终答案41%
rand5()实现rand3()
rand5()实现rand7()
闲聊环节:
家住哪?(广州)
平时花在写代码上的时间多吗?(平均每天一道算法题,外加一下午写项目,如果下午没写完晚上还会写,写完了就打游戏)
反问环节
您对我有什么建议?(我觉得你很不错,不论是数学还是算法都做的很快,继续保持学习,加油)
HR面
自我介绍
实习期间有什么亮点
实习的时候为什么没有留下
实习最大的收获是什么
大一的时候去找老师做项目是自己主动去的吗?
为什么大一就想去做项目了?
在简历上你提到带了一个团队,能说说是为什么要带这个团队吗?初衷是什么?
你觉得自己的优点和缺点是什么?
家是住在哪里?
有打算过毕业之前来实习吗?
手上有其他的offer吗?
反问:
如果我想去实习,我需要做一些什么准备?
1.24更新,已oc,准备沟通
1.26更新,offer到了,定好了入职时间,开始踏入社会第一步
感谢
至此我的大学算是结束了一半了,很多感悟吧,8月份实习结束的时候就已经打算冲WXG了,但是这几个月一直碰壁,面了挂、挂了捞、捞了再挂。
拒了所有其他公司的面试,只面字节阿里和腾讯
10-11月份是我心态最崩盘的一段时间,早上不想起床,起床了只想打CSGO,没有任何动力,甚至觉得自己已经烂了(那时候硬是从刚接触csgo打到5e 1800)
在这段时间我非常感谢我的几个hxd @Doctorwu @charleschanv @hug-6... 一直在给我画饼微信有多好, 我也算是遵守约定在微信见面了
以及比我强多了但却一直抬我以至于让我真觉得自己很行的几位师(da)弟(lao): @korokseeds @Camille_Ferros @bao-ling-zhi-zi
还有在我连续四次三面挂差点remake的时候在我身边鼓励我的女朋友。虽然她不是这个专业的,但是愿意去了解包容我,给了我坚定的信心,让我感觉不是一个人在战斗
也非常感谢我实习四个月里不断指点我的mentor和leader,他们是我迈入社会的第一位指路人
还要感谢leetcode社区,在这里遇到了很有趣的大家,以及不那么有趣的周赛.