智元机器人 社招 C++开发面经

面试过程还算正常,不过可惜自己最近忙,没有好好准备,有些问题答得比较抽象。

首先是对着简历上的过往问,包括为什么想换工作之类的,按实际回答就行了,然后是技术性问题

1.linux的一些常用命令,如果我想找工程下面是否存在某个文件怎么做(find);如果我想知道哪些文件包含了某个头文件呢(grep);如何查看某个进程的线程状态(top或者htop,不过面试官想问的不是这个,估计是想问top -H -p pid吧,当时脑抽没想起来),这个问题问完我都怀疑是不是kpi面了,从没遇到社招问这个的

2.简历上有比较多的中间件使用,数据发布帧率最大是多少,会不会出现性能不足,如何解决

3.一些项目中具体做了哪些事,没有进一步细抠细节,主要是问你做过什么,这段比较碎,问得时间比较长,基本上根据项目内容去问的

4.开始手撕。本地环境写两个题,共享屏幕

一. 实现三个线程轮流打印ABC,本质上就是条件变量控制打印顺序。写完之后问,你用了notify_all(),这里如果是A进行notify_all,那么B和C都会被唤醒,然后判断条件,实际执行的是B,那么C多唤醒了一次,怎么解决这个问题。这里我也比较蒙,平时没有太注意这一点,临时问我确实没反映过来,于是说的是用两个条件变量,然后notify_one,当然这个肯定不是标准答案。现在细想,或许是使用信号量来控制吧。

二. 用socket的api实现一个客户端和服务端的echo功能。

由于是本地文本,平时也没有专门去记结构体的成员和名字,写的时候把地址结构体成员写错了,面试官说没关系,可以写伪代码。

反正就是socket创建到read,send然后服务端包括listen,accept那一套。太久没写了还把accept的参数弄错了。

不过面试官更多的注意力在流程上,也没给我纠错。

然后问tcp的三次握手发生在哪个api调用,反正就是connect之后,accept之前。

总的来说面试难度不算大,只不过没有面经,不知道面试官套路,所以写题写得不太好。

大多数问题都是在根据简历上的内容问,也没有深入C++和linux的八股文问,不知道是不是kpi面。面试官看着是同龄人,典型的技术男,整体体验还算好,也没有特别压力(给我的感觉是,面试官可能和我方向不完全相同,所以有些技术方向完全没做考察)

全部评论

相关推荐

不愿透露姓名的神秘牛友
10-07 16:31
舜宇红外 光学设计 13×13-14 硕士其他
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务