摩尔线程_社招面试经验分享

回馈牛客各位网友,希望能帮助各位,岗位是c++软件工程师

一面

一面是上海那边的工程师给我面试,当时的上海仍在封城状态当中

  1. 自我介绍
  2. 问了一个ip地址正则表达式的写法(回答忘了,因为当时开发中写过一个验证邮箱的功能用到的正则匹配,当时是查的,在菜鸟教程上就可以查到)
  3. 问我python,实际上并没有准备python的内容
  4. 然后是传参指针和引用的区别,以及在汇编层面上如何体现
    我当时的回答因该是搞混了传值和传引用,底层其实传指针和传引用是一样的,可以参考
    https://blog.csdn.net/qq_49613557/article/details/119052970
  5. 讲一讲设计模式,
    简单说了一下项目中常用的单例模式,注意要知道用单例模式的常用场景

二面

当时以为一面挂掉了,结果给我发了两次二面邀请我都没看见,后来有一天看邮箱面试链接竟然过期了,赶紧联系hr
二面主要是聊了聊项目经历,捎带着一些综合能力,特意问了我FFT、傅里叶变换,当时我有点懵就想不起来了。。。面试官很nice说这个问题留作作业,下次考(当时比较高兴的是现场就通知我过了)

三面

当时北京也封城了,公司也都在家办公加上可能面试官们比较忙,过了大概一个月左右三面,这回是正经的技术面试:
1.自我介绍
2.c++和C的区别
3.多态的实现,包括细节
4.基类和子类是同一个虚表么
5.多继承情况下,子类有几个虚表
6.如何避免内存泄漏(谈到智能指针)
7.智能指针有几种?原理?什么情况下使用shared_ptr?
8.如何将unique_ptr和容器一起使用(没答好,确实没用过)
9.C++内存空间,各个空间区别
10.如何实现一个类,只能在对空间上创建对象(差点没答出来,大概是构造函数放在private中,然后设计方法GetObj(),函数return new对象)
11.TCP如何保证可靠性传输

1.校验和
发送的数据包的二进制相加然后取反,目的是检验数据在传输过程中是否有变化。如果收到段的校验和有差错,TCP将丢弃这个报文段和不确认接收到此报文段。
2.确认应答 + 序列号
TCP给发送的每一个数据包进行编号,接收方对数据包进行排序,把有序数据传递给应用层。
3.超时重传
当TCP发出一个段后,会启动一个计时器,等待目的端口确认接收到这个报文段。如果不能及时收到一个接收确认,将重传这个报文段。
4.流量控制
TCP连接的每一方都有固定大小的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能够接纳的数据。当接收方来不及处理发送方的数据时,能够提示发送方降低发送的速率,防止包丢失。
TCP用的流量控制协议是可变大小的滑动窗口协议。接收方有即时窗口(滑动窗口rwnd),随ACK报文发送。
5.拥塞控制
当网络拥塞时,减少数据的发送。
发送方有拥塞窗口,随ACK报文发送。

12.创建服务器是都有哪些步骤

建立TCP服务器连接的过程中主要通过以下的系统调用序列来获取某些函数,这些系统调用主要包括有:
socket() 创建套接字
bind() 绑定本机端口
connent() 建立连接 (TCP三次握手在调用这个函数时进行)
lisiten() 监听端口
accept() 接收连接
recv()、read()、recvfrom() 数据接收
send()、write()、sendto() 数据发送
close()、shutdown() 关闭套接字 使用close()时,只有当套接字的引用计数为0的时候才会终止连接,而用shutdown()就可以直接关闭连接

13.编程题:中序遍历二叉树,非递归

// 摩尔线程三面代码题目,非递归方式的二叉树中序遍历,核心代码
template<typename T>
struct node
{
    node* right;
    node *left;
    T value;
}

vector<T> TraverseBinaryTree(node* root) {
    vector<T> res;
    stack<node *> s;
    while (root!=nullptr || !s.empty())
    {

        while (root != nullptr)
        {
            s.push(root);
            root = root->left;
        }


        node *n = s.top();
        s.pop();
        res.push_back(n->value);
        root = n->right;
    }
    return res;
}

四面

去了望京的公司现场(建议地铁公交),然后先HR面,再两轮boss面试,主要是聊一些公司和个人情况,以及感兴趣的业务方向
#春招# #面经# #摩尔线程# #摩尔线程智能科技(北京)有限责任公司#

#摩尔线程##面经#
全部评论
想咨询下楼主一面和二面之间间隔了多久
点赞 回复 分享
发布于 2023-05-18 08:58 四川
请问楼主之前有几年工作经验了?谢谢。
点赞 回复 分享
发布于 2023-01-21 22:19 湖南
楼主后面怎么样了?
点赞 回复 分享
发布于 2022-06-29 22:17
lz之前有相关行业经验吗
点赞 回复 分享
发布于 2022-06-19 17:32

相关推荐

07-14 17:08
已编辑
门头沟学院 Web前端
一面&nbsp;1h10min&nbsp;6.201、语义化为了什么,语义化在你的项目中,你做了什么?2、有两种盒模型,你说说看,这两种盒模型有什么区别,在开发过程中,使用到的是哪种盒模型?3、怎么去清除浮动?4、css选择器了解过吗,说一下权重。给同一div加上先绑定id,使用id选择器给红色,使用类选择器给绿色,最终显示什么颜色。5、css样式,a元素给了相对定位,z-index是1;b元素给了相对定位,z-index是2,c也给了相对定位,z-index是3,c他会覆盖b吗6、css模块化有了解吗?7、BFC范式了解过吗,如何创建一个BFC8、原型链了解过吗?说说看?9、函数里面创建了一个变量a并赋值,然后再把a赋值成方法,输出a,结果是什么?10、讲一下前公司开发具体流程吧11、异步编程说一下12、讲一下这个事件循环13、ajax用过吗,平时用什么?14、js的数据类型知道吗?如何判断数据类型?15、作用域了解过吗?var声明和let声明执行相关的问题?16、用class创建一个类,类里面创建一个方法fn(),方法输出console.log(this)。创建这个实例,然后调用这个实例.fn(),结果是什么?再把这个实例.fn赋值给一个变量,然后执行这个变量,输出又是什么?17、this指针了解过吗?改变指针的有哪些方法?说一下箭头函数的this18、讲一下闭包?作用?19、讲一个开发中最大收获吧20、浏览器了解吗,解释一下url输入到浏览器的过程?21、讲一下浏览器的控制台工具都有哪些吧,有什么功能说一说22、页面的性能优化怎么做?23、代码规范是怎么实现的?24、开发过程中,遇见问题怎么做?25、有没有开源项目,说一下26、未来一两年的规划?27、你觉得你在开发过程中遇到的开发过程遇到的最兴奋的点是什么?28、加班问题怎么看29、自身优缺点说一下30、如果领导跟你的意见不合,你会怎么做。31、面试官:如果我想让你做坏一个项目,你会怎么做?我:啊?来真的啊。嘿嘿反问:1、公司干的什么活?给机器人做中控系统,vue去实现对机器人的操控页面。2、结果?三天内6.25&nbsp;二面&nbsp;CTO面问我职业发展规划;起冲突了怎么解决;数学建模比赛的课题是什么,做的什么内容。反问:做什么业务?对发布出去的机器人软件更新,以及对后续机器人的软件开发。&nbsp;使用vue3进行对机器人中控页面的性能优化等等6.27&nbsp;oc
大族机器人二面3人在聊
点赞 评论 收藏
分享
鼠鼠3月份开始投暑期实习,5月底就结束了,今天做一下全部的总结,也算是和大家作作参考。基本投的是嵌入式软件开发,有少数的投的电机控制工程师,大概进面的比例是1/3,好多公司投了过后没有任何消息,基本打水漂,最后只拿美的和华为两个offer。下面是按照进面的顺序排序,我只列了进入面试的几个公司。1.&nbsp;美的,电机控制工程师。一共三面,一面AI面,二面技术面,三面主管面,非常简单,点击就送。2.地平线,嵌入式系统软件开发实习生(MCU)。其实我没有学过操作系统,当时投递都没想过我会进面,很神奇,哈哈。最后当然是一面挂,具体面试中问了很多关于操作系统的,比如死锁之类的,当时只能抓耳挠腮。最后手撕是判断链表是否成环,acm模式。3.乐鑫科技,嵌入式软件开发工程师(驱动/芯片支持)。一面是技术面,有英文的自我介绍和项目介绍,然后就是手撕,用C语言对变量进行位操作来达成面试官的要求,一共有三个题目,最后有一个手撕是反转链表,蛮简单。后面敲打了1个多小时项目,面试官对我好像挺满意。二面是HR面,就问一下个人的基本情况。三面是主管面,也是技术面,针对我的项目问了一个多小时,但是问的和第一面完全不一样,不是针对我项目里面做的东西来问,而是对我的项目中的技术点进行发散,比如我在一个新平台上移植编码器协议,他问编码器用的485电路是怎么设计的,这些电阻为什么要这么取,当然这算比较简单的问题了,三面最后手撕让我用ARM的两个gpio来模拟芯片如何去获取编码器的数据(我从来没想过会让我手撕这玩意,我这玩意的代码是移植过来的,源代码几千行),最后的结果就是手撕没完全撕出来,三面挂了。不过我还是很推荐乐鑫科技的,面试官的态度都非常好,你不会的也会给你进行提醒,虽然一面和三面都差不多有两个小时,但是体验蛮好。4.荣耀,电机驱动工程师。这个笔试我都不知道我是怎么过的,那些笔试全是硬件知识,我不是科班的,按照我自己理解作答了,居然还过了笔试。面试的时候知道这个部门是荣耀的新部门,他们是做机器人的,具体做的是电机驱动器硬件方向,但是我只想做电机控制软件,硬件实在不是我的强项,最后一面就挂了。5.中兴,硬件开发工程师。这个我也不知道怎么进面试的,但是面试过程我觉得我回答得还蛮好,但是面试完了一直没给我发消息,也没发感谢信。6.华为,嵌入式软件开发实习生。4月9号第一批参加的笔试,本来有一个部门给我打电话让我4月29号晚上面试,不久又给我打电话说改成5月6号晚上面试,但是又说具体时间按照邮件为准,直到面试那天早上我都没收到邮件,我才去找另外一个部门的HR,这个哥们比较靠谱,帮我重新推的进度,后面一面还是很顺利,问了一下笔试里面的那几个题目是什么思路,还有几个常规的八股:(1)BFS和DFS的区别是什么?(2)数组和链表的区别是什么?(3)排序算法有哪些?各自的时间复杂度和空间复杂度有哪些?手撕是一个简单题,有效的括号,但是要写acm模式。二面的话,主要是问一下个人的基本情况和性格。最后也是成功地拿到offer。不过话说真的很遵循1145定律和25小时,不知道为啥要做这样一个定时操作。7.&nbsp;联发科,嵌入式开发实习生(connectivity方向),拒面。8.海康威视,海康微影-嵌入式开发实习生,拒面。这里面最想去的还是乐鑫和华为,面试的过程中面试官人都挺好,面试体验不错,但是很可惜的就是乐鑫没拿到offer,很心痛(当然不是为了它实习有450一天)。其实基本上看有啥就投啥,实习的时候嵌入式虽然开的厂不少,但是实习是真难进,秋招应该就会好很多了。暑期实习投递完美撒花。
查看4道真题和解析
点赞 评论 收藏
分享
评论
7
63
分享

创作者周榜

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