一面
时间 2021-07-11
面试时长:50min
问实习项目10min,做的是网关研发cdn的业务,面试官不太懂,简单介绍了下。
操作系统:
top命令后的load average三个参数以及怎样从其中的进程数等检测系统的负载是否安全?
实模式和保护模式的介绍,从寻址谈一下以及最大区别在哪?
实模式切换到保护模式的主要步骤?
进程的切换有哪些是不可以抢占的即哪些是不可中断的状态?
硬中断和软中断在接收网络包的场景下的应用情景?
简述下虚拟内存的机制
网络基础:
TCP和UDP的最大区别?三次握手最大的作用在哪?
TCP在进行三次握手的时候,客户端和服务端做了哪些约定?
accept函数调用的阶段,在调用的时候,内核中发生了什么?
半连接队列满和全连接队列满会造成怎样的后果?
解决半连接队列满的方法?怎样防止syn攻击?
半连接队列满和全连接队列满,从服务器的角度看,内核怎么判断这两种状态的发生?
简述下select和poll
select和poll在处理感兴趣的和实际发生并返回的读/写/连接事件的过程中,最大的区别在哪里?
编程题
实现一个atoi,比较简单,不做赘述。
二面
时间 2021年7月22日
时长 1小时
讲一下项目,这个面试官不太懂,主要探讨了下流量调度时的一些业务流程。
讲一下拥塞控制
http和https的区别,tls的握手过程?什么是对称加密和非对称加密?
C++类的内存分布,给定一个类,其中含有int、string、成员函数以及虚函数,这个类的占用内存大小是?是否考虑字节对齐?字节对齐和操作系统的位数是否有关?
内存池是怎样实现的?
讲一下伙伴算法,如果让你设计伙伴算法,你会选择连续的内存还是不连续的内存进行分配?
线程池是怎样实现的?线程池实现时,线程的调度你是完全交给操作系统还是有所干预?
秒杀活动场景下,怎样设计一个系统?
最近在看什么书?技术和非技术的?
网络编程时,我们调用api发送数据包后,在应用层怎么知道这个数据包是不是成功发送到对面了?
编程题:
实现个链表和。如6->2->7+2->3->2=8->5->9。力扣原题不再赘述。考虑下时间空间复杂度优化下即可。
HR面
时间:二面后的三天内约的hr面
面试方式:电话面试
时长:18min
shopee的hr面基本上是谈心
谈一下意向城市,期望的工作部门,是偏向业务还是基础架构
自己在大学里的一些经历体会
对加班的看法(hr强调问这个不代表shopee是经常加班的,自行体会~)
自己的优点和缺点等等
hr面表达出来积极的意愿,不要踩坑就行
常见的坑包括有没有亲戚在本公司,有没有男(女)朋友以及男(女)朋友在哪里等等
后续时间节点:
会在八月底发放意向书,然后九月初等各大公司开薪资后,再进行薪资匹配然后开奖。