攒人品的 WXG 后台开发二面面筋

在等第二轮面委等的无聊,写一篇之前的二面面筋攒个人品吧。

大约是 9.6 晚上八点开始面试,接近十一点面试完,感觉人已经被榨干了,但是确实收获了很多。

也许还问了别的东西,但是只记得这些了,给大家分享一下。


面试官:看上次面试问的都是操作系统方面的啊,这次我们问点网络吧

1. TCPUDP的区别,为啥三次握手、四次挥手?

2. 打洞听说过吗?打洞是用什么协议实现的呢?UDP还是TCP?有哪些使用UDPTCP的协议呢?

3. HTTP了解吗,HTTP1HTTP1.1HTTP2有啥区别,HTTP header都有啥内容啊,HTTP方法有哪些啊,GET/POST区别是啥,长链接的发送顺序和接受顺序要一致嘛,可能被阻塞嘛?

4. HTTPS了解吗,握手流程是怎么样的,加密是对称还是非对称,协议相比HTTP有什么好处呢?HTTPHTTPS的端口分别是啥?

5. 如果用户输入的是http://xxx.com的网址,但是已经升级到了HTTPS,会发生什么呢?你会怎么处理呢?

6. socket 编程了解吗,调用write函数进行了几次内存拷贝呢?那是否可以减少拷贝次数呢?如果缓冲区写满了会怎样,还可以继续write吗?

7. 你刚刚提到mmap,怎么实现的了解吗?是只能映射用户空间和内核空间吗?


面试官:来问点别的东西吧

1. 进程和线程了解吗,有啥区别?线程之间怎么同步的?

2. 考虑你有一个服务,可能会起十个进程,如果某一个进程挂了,需要能感知到并且重新拉起来,请问你会怎么设计?

3. 线程之间是怎么同步的呢?同一台机器上的进程之间如何做到互斥的进行某个操作呢?

4. 你刚刚提到原子操作,怎么实现的了解吗?

5. select epoll 了解嘛?有什么区别,ET/LT模式?epoll 的一些实现?如果需要跨平台,你会用select还是epoll


面试官:来做两道题吧

1. 很简单,找出序列中和最大的连续子序列的下标起始和结尾;

2. 是一道工程题,楼主还是第一次做这种题:


考虑你向业务方提供热更新的服务,业务方可能是在多线程的场景下,会去读取config文件,也会不定时去更新config文件,config文件很大(大约50G),只有一份且存在磁盘上,内存大约128G。问如何设计这个updater类,使得业务方在更新时可以无感知的进行读取config的操作。

在面试官的引导下以及redis重哈希的启发,想出了double buffering的思路,然后去实现,同时要考虑多个线程更新config、多个线程读取config、文件在内存中副本的保存(因为太大了)等等情况,尽量和真实场景贴近。


可能还有其它的问题,但楼主脑容量太小,已经flush掉了

这次面试确实实楼主有史以来面到的最难的面试了,问题都相当有深度,同时要求能在具体的场景下结合知识点给出解决方案,感觉一眨眼就面了三个小时,辛苦面试官和楼主一起面到11点了。


希望面委会第二面赶紧来吧
Offer 快到碗里来!!!
#腾讯##C++工程师##校招##面经#
全部评论
老哥,我还在等第一轮面委
点赞 回复
分享
发布于 2019-09-16 21:54
好难啊....
点赞 回复
分享
发布于 2019-09-16 23:28
小红书
校招火热招聘中
官网直投
sp大佬
点赞 回复
分享
发布于 2019-09-16 23:43
太强了
点赞 回复
分享
发布于 2019-09-16 23:46
请问大佬,一次write调用只是进行一次内存拷贝对吧(从用户内存空间拷贝到内核内存空间),那么如何减少拷贝次数呢
点赞 回复
分享
发布于 2019-09-17 11:25
准备二轮面委中,楼主哪个部门的
点赞 回复
分享
发布于 2019-09-17 16:39
那个update类,可以考虑下读写分离,参照JAVA CopyOnWriteList
点赞 回复
分享
发布于 2019-11-15 22:42

相关推荐

【关于文远知行】文远知行(WeRide)成立于 2017 年,是全球唯一同时拥有中国、美国、阿联酋、新加坡四地自动驾驶牌照的科技公司,致力于“以无人驾驶改变人类出行”全球领先的L4级自动驾驶科技公司,已经在全球超过26个城市开展自动驾驶研发、测试及运营,致力于开发安全可靠的无人驾驶技术,应用场景覆盖智慧出行、智慧货运和智慧环卫。【面向人群】校招生:2024届应届毕业生(毕业时间2023年10月-2024年8月)实习生:2025届应届毕业生(毕业时间2024年10月-2025年8月)【开放岗位】算法类 关键词:感知、大模型、预测、决策、规划控制、地图定位、深度学习、自动化标注、强化学习、SLAM等研发类 关键词:分布式系统、大数据处理、可视化、全栈、操作系统、高性能计算、模型部署等硬件类 关键词:硬件集成测试、lidar 系统/camera 系统、车辆线控、EE等测试开发类 关键词:软件集成测试、仿真测试、实车测试、系统测试等【工作地点】北京、上海、广州、深圳【内推链接】https://app.mokahr.com/m/campus_apply/jingchi/2137?recommendCode=DSvUVMDa#/jobs【内推码】DSvUVMDa快来投递吧~大家抓紧投递,留下姓名缩写➕岗位名称,我会在后台跟进~ #内推# #内推码# #文远知行# #秋招# #自动驾驶# #25届# #暑期实习转正#
点赞 评论 收藏
转发
#面经# 更新:oc项目 40min哪个项目能展示真实水平,聊一下讲一下 raft 为啥能保证一致性Raft 选举流程写操作一定是写 Leader 吗?读操一定从 Leader 吗?能保证读到最新的吗?如何解决,有没有优化方式?主节点一直收不到大部分从节点的心跳回复会怎样。存不存在 Paxos 写虽然写到了大部分,读却没有读到?写只能在 Leader,那性能会不会有瓶颈,怎么解决?怎么保证数据均匀分散到多台机器那怎么让 Leader 尽量均匀分布?怎么确定集群的数量比较合适?怎么测试的性能?解释一下 WAL,必须在事务前落盘吗?优化有什么?如果缓存的日志丢失了怎么办?事务会有问题吗?内存不够用咋办,leveldb 是内存数据库还是磁盘数据库?八股 20min网页如果同时接到很多请求,会怎么样?项目有没有这方面的经验?手机访问一个网页的过程讲到接收方 socket 时,有问有没有优化方案?只能一个 socket 一个进程吗?线程怎么共享内存?怎么避免多线程内存乱了?原子变量怎么实现的?Https 怎么加密的?Https 是对称加密还是非对称?讲一下程序申请内存的过程页表为什么要分多级?讲讲 OOM算法题 10minLCR 051. 二叉树中的最大路径和 - 力扣(LeetCode),ac了。
点赞 评论 收藏
转发
6 75 评论
分享
牛客网
牛客企业服务