微信校招面试已过,即将入职,分享一下我还记得的面试题目。
第一面,组员面
- 有一个n边形(P0, P1, ..., Pn), 每一条边皆为垂直或水平线段。现给定数值k,以P0为起点将n边形的周长分为k段,每段的长度相等,请打印出k等分点的坐标(T0, T1, ..., Tk)的坐标。
写了两个方法,过了。
- 对stl有没有了解?能不能简单讲一下Vector?
有一丢丢。简单讲了一下,过了。
- 对nginx有没有了解?
有一丢丢,了解不深入。没有深入问下去。
面试完之后小哥直接问我第二天有没有时间二面。
第二面,组长面
- 判断一个树是否是平衡二叉树
过了
- 忘了,也是个算法题
过了
- 给定一个数组,找一对i,j使得a[i] + a[j] + i - j 的值最大
过了
- 问了一下简历相关的经历,聊完了之后面试官说我技术还可以,他这边没有什么问题了,让我等下一面吧。
下午三点面完的二面,然后5点的时候接到了晚上9点面总监面的通知。
第三面,总监面
- 大数相乘/高精度乘法
过了
- 对操作系统了不了解?
了解一丢丢
- 讲一下线程和进程的区别?
PCB, TCB, 资源,调度,地址空间等一大段话。过了
- 进程间的通信方式?
Pipe, Naming pipe, 共享内存,socket等。过了
- 一个程序应该写成多线程好还是多进程好?
多线程好。简单概括了一下Operating System Concept Chapter 4.1.1 Motivation的部分。过了
- 能不能讲一下进程同步?
问到这里的时候有点紧张,因为之前的面试官都没有问到这么多的理论。一开始没有反应过来线程同步就是Process Synchronization。后来问了一下答上来了
- Get和Post哪个更安全?
听到这个问题我顿时有点头皮发麻。问了一下安全不安全不应该是http和https管的吗?面试官仍然坚持要回答这个问题。回答了Post,诌了一些理由。
- 那你说说为什么https比http更安全?
因为http是明文传输,但https有RSA加密,从数学层面(包括费马小定理,欧拉定理等)保证了只要在网络上传输公钥和秘文,用私钥解密的流程是难以破解的。
- 有点晚了,今天就到这里吧。到此已经面了快一个小时,就结束了。
第四面,面委面
-
给一个树,从根到叶子的每一条路会构成一个数,请输出由这个树构成的所有数的和,比如
image.png
构成的数字有124,125,13,它们的和是124 + 125 + 13 = 262。程序输出262。
过了
- 你有一个随机数函数
rand()
,它会以均匀分布输出0-65535的随机数。现在我司有20万员工,要抽10万名员工获奖(明年996的福报特权(大雾)),请使用rand()
以均匀分布抽出这些获奖员工。他们的工号从1开始。
过了,面试官之后又问了一下数学证明,也证明了确实是均匀分布的。
面委面完之后心里非常虚,过了两天之后通知了HR面。HR给我说,如果这一面挂了,但是之前的面试评价不错,可能会加面一次面委面。也就是微信最多可能有5轮技术面,快赶上谷歌了。
第五面,HR面
- 你老家是*的,我们在那里也有分部,你考虑*的职位吗?
暂时不考虑
- 你父母支持你的决定吗?
资瓷。他现在是特首,我们能不支持特首吗(划掉)
- 你有女朋友吗?
没有
- 哦,那你做决定比较方便。
是的(苦笑😊)
- 你多久可以入职
*
周五面完了HR面。下一周argue了一下薪资之后在周六拿到了正式的offer。
希望可以帮助到大家面试。我之后会把我准备面试的资料也贴上来。之后就会去腾讯入职了,如果需要微信或者腾讯的内推可以私信我。我看简历还不错的话会帮忙推荐。