头条

3.8 投简历

内推,3.11收到一面邮件

3.18 一面(后台开发,抖音短视频)

自我介绍
讲一下快排和归并排序
快排什么时候效率最低
怎么找快排参考数字
输入www.baidu.com 会发生什么
DNS查询具体怎么查?
反馈回来的html文件是怎么转换为用户界面
html文件中那些图片或视频是从哪里得到的
图片是一个一个加载还是同时加载
(对http不熟,问懵了。。)

算法题:从后向前每k个节点做一个反转,若剩余不足k个,则不用反转。
eg. 1->3->5->8->6->9->2 -> 1->8->5->3->2->9->6
(代码写出来了,没运行,之前没做过这题,写的代码有bug)

(第一次面试太紧张了,说话逻辑不清晰,被面试官带着走了,表现很差,一面挂)

4.3 一面(客户端开发)

自我介绍3分钟,上来就做题
算法题:
1.判断x是否在矩阵中:一个m*n的矩阵,从左到右从上到下都是递增的,给一个数x,判断x是否在矩阵中。
2.最大子序和:输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)
3.买卖股票,两次交易:假设 它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。[3,3,5,0,0,3,1,4]
(前两题秒过,第三个没做过,脑子想不清楚,20分钟没做出来,算了)

tcp三次握手和四次挥手
tcp拥塞控制机制,只讲了慢开始
DNS查询过程
进程和线程区别

(其他不记得了,一面过,因为不想做客户端开发,所以拒了二面邀请)

快手-网络研发

3.11 投简历

官网投递简历,当天修改为面试状态

3.19 一面+二面

一面

自我介绍,项目
输入www.kuaishou.com 之后会发生什么?
TCP三次握手
http和https的区别
include <> " "的区别
进程和线程的区别
IO复用有几种实现方式,优缺点

算法题:字符串反转,eg:'abc'->'cba',写个函数,不运行

二面

聊项目,技术选型,为什么要用这个技术,和其他技术相比的优势和劣势

算法题:反转链表中第m到第n个节点,要求直接运行(没调出来,时间差不多了,就算了)

3.23 三面

自我介绍,聊项目
算法题:斐波那契数列,求第n个数,要求直接运行
分析时间复杂度和空间复杂度
当n较大时会出现溢出,用大整数加法修正(我用字符串表示大整数)
大整数加法优化方法(不会,面试官讲了半天,我也不太理解)

3.25 hr面

自我介绍,用hr能听懂的语言描述下项目大概是做什么的
职业规划
口头offer

4.21 offer

4.18 hr问意向,说要给发offer,问了又没有其他公司的offer,然后说这两天会发,争取一下。4.21收到offer,因为有了其他选择,所以拒了。

阿里云-网络产品-基础架构研发

3.23 投简历

内推,做了测评

3.25 笔试

第一题10%,第二题90%

3.26 一面

聊项目,从头到尾讲了一遍,问的特别细致,本来以为简历面15分钟就结束了,没想到面了一个小时,当时还发烧,脑子都是糊涂的,第二天都记不太清楚说的啥。面完问面试官这是简历面吗,他说是一面,嗯。。

3.31 二面

聊项目,半小时结束

4.2 三面

聊项目,半小时结束
(三次面试都没问到基础知识啥的,都是聊项目,面的有些不真实)

4.14 交叉

聊项目,半个小时结束

4.21接到电话说要加面,约明天面试,不知道啥情况。

腾讯-PCG

3.5 把简历给了师兄,没进系统

3.30 一面

聊项目,半小时结束,然后通知我走流程,官网补充简历

4.4 复试

聊项目,聊着聊着面试官觉得我不适合PCG,推荐我去阿里云或者华为云,然后把我简历释放了,官网流程变灰了。

4.12 CSIG腾讯云一面

聊了两个小时,从没面过这么长时间。
先是聊项目,然后问了overlay网络,underlay网络都是什么,接着问云计算,分布式,VPC了解吗,这个概念听说过,描述不清楚,还是面试官解释了这个名词。然后问SDN了解吗?我描述了SDN的思想,发展现状之类的,然后面试官讲了腾讯云目前做SDN的场景,最后问了基础知识。

操作系统:包括epoll,多进程和多线程区别,优劣势,为什么会出现dpdk这个技术(项目用到的技术,通用CPU应用于高速数据包处理中的缺陷,中断,上下文切换,内存拷贝,cache miss等),进程调度算法,RCU锁原理(复习的时候看到过,当时没想起来是啥,就说不知道了,然后面试官讲了这是个啥,原理和应用场景)。

计算机网络:问了TCP和UDP区别和应用场景,然后说到UDP要保证相对可靠传输的改进,说到QUIC,还谈了QQ即时通信就是对协议做了优化。然后是TCP建立链接,怎么保证两端是连接的,面试官想要的回答是TCP状态机,(这个没理解要问啥,羞愧),为什么会存在time_wait状态,如果没有time_wait状态会发生什么,(可能存在连接未完全关闭的时候,新连接重用socket五元组造成对端reset掉SYN包,新连接崩溃的现象。)。如果出现大量为关闭的连接,会出现什么情况,资源占用,新的连接没法建立。端口号只有65536个,如果想要维持百万连接,怎么办(新增加一个IP就可以了,以服务器负载均衡为例)。

4.14 腾讯云复试

聊项目,共享屏幕画了项目整体架构图,简单介绍完就结束了,不到半个小时。然后面试官问你还有什么觉得没有展示到的做的比较好的,我把第一个主要参与的项目又说了一遍,时间撑了一个小时。晚上看状态变成hr面试。

4.17 hr面

先确认基本信息(简历上没写本科学校,失误),问对面试的部分的了解,对其他部分的了解,有没有其他同时面试腾讯的其他部门,在学习和科研期间压力最大觉得最困难的事情,怎么度过的,平时爱好,有没有参与团队协作的经历,收获。有没有直系亲属在腾讯工作的,意向城市,有没有收到其他公司的offer,在这些offer最想去的是哪个。大概不到20分钟结束。

微软-STCA-北京

3.1 投简历

内推,简历没过筛,没有获得免笔试资格

3.25 笔试

三道题,第一题过了,第二题过了4个case,一共10个,第三个没看。具体题目在牛客上可以找到。

4.1 hr收集面试时间,约定4.8和4.9两天集中面试

4.8 一面

自我介绍大概5分钟,简单聊了项目
给了个链接,白板写代码
算法题:

  1. 字符串反转:字符串中用空格分隔每个单词,空格数量至少一个,输出反转后的字符串,要求反转后单词之间的数量与之前不变。
    (先交流思路,然后写代码,没问题后问测试用例怎么写,有几类。测试用例没怎么了解过,面试官提示说要考考虑非法输入和合法输入,保证非法输入下程序不会崩溃才可以)
  2. 机器人走棋盘:一个m*n的棋盘,机器人从左上出发,目的地是右下,每次只能向右或者向下,格子中为0表示机器人可以通过,为1表示障碍,机器人不能通过。问机器人是否可以成功从左上出发到达右下。
    (交流思路,写代码,没问题后面试官又拓展,让求机器人从左上到右下的路径条数,在上题代码上修改。改完后问除了递归解法,还有没有其他方法,说了dp,面试结束)

4.10 二面

(本来是4.9二面,hr临时通知面试官有事,约明天或者之后重新发面试链接)
算法:求无序数组中前K个最大值。
用最小堆求了前K个,面试官要求不用优先级队列,自己写一个最小堆,不会
转而用冒泡写了另一种解法,面试官要求优化时间复杂度,一次遍历,又回到了最小堆
面试官拓展说,求海量数据中前K大元素,内存空间不足。回答了桶排序,面试官要写出代码,因为思路本身就不清晰,代码没写出来时间就到了,估计没戏了。

4.16 三面

自我介绍,讲项目(大概半小时),然后做题。
算法:(1)输入excel中一个列号的字符串(e.g. “AX”),输出是第几列。
(2)输入一个字符串,输出去掉所有空格后的字符串,要求不使用额外空间。
(感觉整体比较简单,本来以为微软面试就结束了,结果hr小姐姐来电话约下周面试时间,下周还有一次,希望好运呀)

4.21 四面

自我介绍,聊项目,做题
算法:(1)逆时针反转矩阵:先垂直折叠翻转,再对角线翻转,两次交换
(2)二叉树中序遍历下一个节点:这个刚开始没理清思路(虽然之前做过),跟面试官说了两遍错误的思路,第三次才说清楚,然后写代码。
还有时间,面试官提出第一题能不能一次交换完成反转,没思路,面试官给了提示,类似于剑指offer上逆时针遍历矩阵的思想,从外围向里依次旋转,写代码。代码写出了外层循环,中间具体交换没写,时间到了,结束了。
(下午5点左右收到oc,告知一周内发offer)

猿辅导-基础架构研发

3.28 投简历

官网没看到招聘信息,再牛客上投了。4.3收到约面试邮件。

4.8 一面

自我介绍,面试官上来先说我们大概先过简历,然后聊项目,问一些基础知识,最后做个题,很稳
聊简历,详细介绍了其中一个项目,问了项目难点是什么,对项目中用到的技术延申性的问了几个问题
公平锁和非公平锁(不知道,说了项目中的互斥锁)
TCP三次握手
进程和线程的区别
线程间通信(讲了项目中用了队列加锁进行通信,然后面试官问这是有锁队列,那你知道无锁队列吗。大概讲了dpdk中无锁队列的实现,用到了CAS操作,面试官又问了CAS的缺陷,不知道了)

算法题:二叉树最大路径和
(面试前刚看到这个题目,扫了一眼答案,万幸万幸,不然就凉凉了。面试官说应该还有两面技术,让等通知)

4.20 二面

自我介绍,聊项目,问平时写代码多吗,项目代码量有多大,还用过什么语言。做题
算法:将K个有序数组合并为一个有序数组。(归并排序)
写完后,要求给面试官讲解代码,面试官问代码有没有什么优化的地方,为什么要用引用作为参数,左值和右值的区别,代码中有没有可以简化的地方(删掉了两个不必要的if判断)