深信服领跑x计划一面(2024.6.24-10:20,过)
面试官:来自我介绍
我:本科、研究生的专业与绩点,提一嘴项目,说了一下实习
面试官:qemu仿真是干嘛的?
我:用来仿真嵌入式设备,解决物料不足问题,可以在仿真上验证代码
面试官:除了这个用途,还能用来干什么?
我:跑异构程序,x86机子跑arm程序
面试官:写一道题(合并区间,leetcode原题)
/*
输入一个类似于 1-4,6-9,8-10 这样的字符串,其中 1-4 表示数字1到4这个区间,要求合并其中重叠的数字区间
举例:
input: 1-4,6-9,8-10
output: 1-4,6-10
PS:不用处理字符串的输入和解析,可以直接定义成期望的数据结构。
*/
我:就按原来的做,就是pair的first和second成员忘记了,以及就是最后一个区间忘记加上,卡了一段时间
面试官:是否还需要测试其他数据
我:加了一个if分支来判断区间合法性,然后说没有要测试的了
面试官:把输入用例从 “1-4,6-9,8-10“改成”1-4,6-9,10-10“,跑了一次,输出 (1,4),(6,9),(10,10)问我是否正确,
我:我说没问题,因为不相交
面试官:如果将原来的9和10理解为相交呢?就是6-9和10-10是可以合并的
我:就在判断的if分支里加了 || p.first == right + 1, 然后说了一下思路
面试官:对一个树进行广度优先搜索
我:就是bfs,用一个队列,(省略)
面试官:不用队列可以实现吗?
我:链表算吗
面试官:链表也算队列的实现,你可以想想用其他数据结构,例如树、栈
我:就用两个栈模拟队列好了
面试官:怎么模拟
我:两个栈a,b。push:直接往a栈push,pop:先将a栈的元素倒到b栈,然后取栈顶,出栈,b栈元素再倒回a栈
面试官:求一个数n的平方根
我:二分查找,left取1,right取n,然后mid为left和right中间,然后(省略)
面试官:除了学校教的知识之外,自己自学了什么
我:linux socket编程
面试官:为什么要学socket
我:我爱c++,我觉得socket比单纯的黑框框有成就干,有趣些
面试官:没问题了,你有什么问题吗
我三连问:
1、这次面试来看,我有什么需要补充的?
该问的都了解,一面更偏向于基础,在学校能学到基础就很好了,后面工作肯定要再学
2、你们组是干什么的?
交付k8s部署,帮客户裸机部署k8s
我说是go那一套吗?
对,目前只有go
3、面试结果什么时候出?
五个工作日内。不出可以问hr。
二面是不是线下面?
是的。
城市呢?
听说是面试官去面试者叫近的城市去。
#深信服领跑x计划##嵌入式笔面经分享#