回馈牛客,OPPO北京站面经(C++开发)

一面
自我介绍
手写冒泡排序
手写tcp三次握手四次挥手
手写tcp服务端客户端接口
mysql主从复制原理
redis应用场景
redis系统架构了解吗
堆和栈的区别?栈多大?
进程通信方式,特点
网络七层,各有哪些协议
预处理阶段做什么
udptcp区别,优缺点,应用场景
linux命令查看内存
du命令有哪些参数
要想把du命令检查出的大小单位都换算成G显示怎么办(没答上)
多进程和多线程的区别
timewait的作用
指针和引用的区别
free命令能观测到什么负载
***和buffer区别
swap区干什么用的
写过shell脚本吗,shell第一句写什么?
用过python?
stl内存配置器
closewait等待时间是多少
MSL是什么
SNMP基于什么实现
讲项目(应用场景,做了什么,线程池相关,界面逻辑)
Git用过?讲讲有什么命令
最有成就感的一件事

二面

全程死抠项目,细节实现,难点,怎么解决的,假设场景,优化改进,压力测试,职业规划,团队协作问题。二面面试官比较严肃,很有压迫感,提出了几个解决方案并不感到满意,但综合整体考虑还是给过了。

(顺便问一下各位,udp高并发怎么处理较好?)

hr面

正常聊,三观正常,都没问题。

#OPPO##面经##C++工程师##提前批#
全部评论
tcp高并发我知道,咱们先不考虑中间件和缓存,nio编程,首先udp广播找到tcp服务器,然后客户端发给服务端信息。这里面,处理并发1,是消息规范化。2,是减少线程,对于客户端服务端是俩线程,服务端分离一个线程专门做连接服务。然后服务端和客户端共享io上下文,这个类有两个线程,用来监听读写选择器在通道上是否有就绪事件,两个线程池,作为处理就绪读写事件的转发。我想udp高并发,应该去掉连接的那个线程,修改一下广播的那里,将得到的channel信息抽象为connector。然后在处理读写事件的时候,因为udp只负责传输,客户端那边是持续不断的接受数据。所以读事件的处理,应该考虑很多。
点赞 回复 分享
发布于 2019-07-14 10:01
有点难度😐
点赞 回复 分享
发布于 2019-07-14 10:07
请问面的是什么岗位? 
点赞 回复 分享
发布于 2019-07-14 09:56
天的啦,请问面的是什么岗呀?
点赞 回复 分享
发布于 2019-07-14 09:57
这是ssp的难度?
点赞 回复 分享
发布于 2019-07-14 10:21
楼主签了没  地点在哪
点赞 回复 分享
发布于 2019-07-14 16:54
楼主,研还是本?
点赞 回复 分享
发布于 2019-07-15 17:08

相关推荐

点赞 评论 收藏
分享
joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
11 109 评论
分享
牛客网
牛客企业服务