BIGO C++ 一面面经
BIGO C++ 一面面经
视频一面,50分钟,面试体验极佳,一面过 . 本科985
-
自我介绍
-
TCP连接介绍
-
项目,讲讲项目的代码量,主要是做什么的,具体介绍一下相关的技术
-
*单例模式会吗,写一个, 用模板实现单例模式
-
指针和引用有什么区别? sizeof 指针和sizeof 引用的大小
-
*linux 的swap分区介绍一下(虚拟内存,页面置换)
-
linux 的命令了解哪些?
-
网络编程的系统调用 函数有哪些? windows or linux
-
给了一个网站,有登陆验证(1) 拖方块到指定位置验证: 你怎么破解这个验证方式. (2) 更难的验证方式 -- 深度学习是最通用的处理方式, 项目里有深度学习,图像处理方面,就问了这个, 我并不是研究深度学习的丫,做这个只是因为我能做,而不是专门做- - ,然后面试官就换了个方向问.
-
出个题: 问一个结构体占的内存大小,地址对齐 struct A{ char a;int b;char c} struct B{int a;char b,c;} 如何让这两个结构体占的内存一样大? 不能移动成员定义顺序- -不会
-
vector的内存策略,map介绍一下
-
* 如果想提升map的效率怎么做?unordered_map - -. 如果让你自己设计一个hash_map 你怎么设计? 不要使用已有的map,unordered_map等
-
做个笔试题吧,你想做个难得还是简单的? - - md我单例模式都写那么渣,选难的! 哎呀,我换了个电脑,这台电脑找不到笔试题,然后给了个反转 uint32 整数的题 123-->321 十进制反转,注意溢出,001.
-
*然后不知怎么滴,我把话题引到了开源项目上,项目不够,开源来凑.介绍leveldb,概述,存储机制,日志,查找机制(提到了跳跃表,介绍一下跳跃表),如何修改,查询有缓存吗,bloom过滤器,write_batch细节等等, 这一阶段主要是我在介绍,然后面试官根据我介绍的内容偶尔问一些问题,我介绍的有详有略, 内容挺多的, 也介绍了一些代码细节.
-
*时间差不多了,你有没有什么问题要问我? 对我的评价,给一些建议. 回: 你的基础很扎实, 网络编程这块有点弱,毕竟我们公司网络相关内容很多. 就在这时!宛如天神给我灵犀一指,我想起了最近在看的开源brpc. 问: 你们公司有没有用RPC框架? 回:有啊,我们用的是brpc,就是百度开源的那个,我们公司主要就是用它做的业务. 嘿嘿嘿... 接下来发生的事你们可以想象.
-
很高兴来给你面试. 我也很乐意参加你们的面试. 拜拜. 拜拜.
-
面完没多久,查状态: 现场面试. 哇哈哈哈哈哈
总结:
bigo 用的RPC框架是brpc, 这是他们业务的核心技术栈(被我套出来了),所以了解过brpc是很大加分项. bigo面试很注重基础,你会什么,他们就问什么,能把你会的所有东西都问个遍,不至于陷入无话可说的境地. 这也是C++ 开发岗位都看中的吧.不过,介绍项目或者技术时应该思路清晰,对知识点要真正理解.如果只是一知半解,那就直说,跳过这一部分,展现自己的优势,而不是停留在劣势方面. 总的来说,基础扎实,思路灵活,再加上人岗匹配,我觉得这是bigo C++面试看重的地方.
bigo的hr,内推的老哥,面试官都非常负责任,很专业,面试官很平易近人,一直笑嘻嘻的,流程进度一直在推进,整体体验都很好.
#BIGO##C++工程师##校招##面经#