还愿
网易雷火一二面
一二面混在一起写:
首先简单介绍了一下公开课项目,然后问了虚函数机制(重点提了下多继承)、系统调用过程、IO复用差异、tcp协议问了些、然后是数组和指针在形参上混在一起的sizeof的区别(还加了模板、没搞明白)、然后是malloc和new差异、智能指针、malloc能重载吗(wtf)
还有一个问题是tcp是面向字节流的含义是啥?
可能是非科班吧,问的不难
网易雷火三面
三面问的还是比较细节的。
首先看我写了csapp的proxy lab,直接拿这个开问,多次解释这是去年初学时写的玩具中的垃圾,还是扯了3-4分钟。然后就是延伸开,问了网络编程并发模型,例如fork的多进程,多线程,线程池是一般怎么实现的,还有没有其他模式(reactor),然后问Nginx(不会)
然后问了tcp,假设需要发一个struct,直接send有问题吗?之后反应过来,硬要在应用层做一个缓冲区处理。然后问了tcp内部缓冲区的一些细节,例如write干了啥(例如只是拷贝到协议栈内部缓冲区并没保证发送)。
然后问了C++一些问题,例如函数中static变量初始化几次,从汇编角度怎么看,当时没答好。然后问了有没有了解内存分配器,回答了jemalloc这些,可能还需要深入看一看
然后问了下玩啥游戏之类的,闲聊。
只记得一半的问题,反问后面试官建议广度需要提升,深度勉强合格。
字节(系统架构一面)
首先扯了下金融相关的实习
然后依次是:
-
c++堆和栈的区别,然后在调用函数时栈一般有哪些操作(就压栈啥的),然后栈上除了局部变量还有啥(比如上一个栈帧的地址)
-
虚拟内存介绍下
-
缺页异常机制
-
tcp、udp介绍下,拥塞控制
-
dns两种查询介绍下
-
算法题:topk和层序遍历变形
字节(系统架构二三面)
二面有些忘了,首先是问了些mmap的细节,比如刷新的时机。然后问了topK和topK个高频元素(一共1000亿个数)。然后扯到了IO。然后写了一个链表归并排序的应用变形(就一个主链,每个元素都对应一个链表,然后主链和子链都是有序的),先是基本的从左到右归并,提了下优化(就是两两合并,然后在合并,类推),然后要求计算时间复杂度。后面问题不记得了
结果还有三面
三面纯算法面,显示一个和逆序对差不多的,就是n个元素,乱序且可能重复,要求找到所有的(i,j)对使得i<j而且nums[i] == 2*nums[j]。用暴力做法做了下,优化一下子没想出来,太紧张了。然后面试官看我最初用dp做,就问了下0-1背包,用迭代秒了,然后问用递归写一下,然后问哪个快。一下子没反应过来,后来发现递归计算次数少(有些点没计算)。
然后,,然后三面就结束了。
然后今天hr面了,许愿能过吧
全部评论
(0) 回帖