浙江大华 嵌入式面经一面

我先说一下,我这个是嵌入式应用层的开发。

早上在公司接到的大华的面试,他问我什么时候有时间,我直接坦白了我在实习了,白天不行,问问可不可以安排在晚上,他答应了,安排的晚上八点,我面试完就煮了碗面吃了就开始整理,害怕等久了我就忘了。

首先说一下整体感受,面试官人挺好的,我整个面试过程也特别自信。我感觉面试官对我印象应该还行,当然,其实我也不是他问的所有东西都知道,只是我了解的不够就明说,了解的就多说些,以前面的时候多少有些紧张,现在想通了,反正也就这样,大不了面不过嘛,又不是多大个损失。可能因为我是面试老油条了,面试一点都不慌。

我还是强调一下,现在是提前批,很多大公司提前批招人就招的差不多了,所以,还是建议大家多投简历,越往后越难。

1.自我介绍

2.你刚刚在自我介绍中提到你对于网络编程和环境编程比较了解,能说说你指的网络编程是什么吗?

回答:socket编程,自己也做过一些小实验,实现了B/S通信。

3.具体讲一讲socket编程的步骤。

我是从客户端讲到服务端的,因为我面的是应用层,他对这个问得比较细。

4.你刚刚讲的是一个客户端和一个服务端的连接,有考虑过多个客户端和一个服务端连接的情况吗?

我回答了多进程的实现方式,没有问select和epoll,但还是建议大家还是去看看epoll和select,因为我面的华飞智能,他们主要是多线程和多进程开发比较多。

5.你有了解过多线程的开发吗?

我只是了解多线程的开发,但没有了解过怎么实现,但我认为,多线程和多进程的实现是类似的

6.那你说说多线程的开发?

首先调用pthread_creat()的时候传入一个函数名,在线程成功创建之后会执行这个函数。可以在函数中实现我们想要并发执行的功能。

7.在多进程和多线程编程中,一般用哪些方式来控制进程和线程对资源的访问。

一般常用互斥锁,自旋锁和信号量(还有条件变量等其他方式,多了解几个)

8.你使用过什么方式呢?

我使用过信号量,信号量相当于一个计数器,有进程访问的时候计数器减一,当进程访问完毕之后计数器加一。

9.在你使用多进程编程的时候,一般用什么方式创建进程呢?fork()还是vfork()?

这里我回答的fork()函数,vfork()没用过,不敢讲,然后问我fork()返回0的时候是哪个进程,这个肯定是子进程。

解释一下:Fork()的返回值是返回子进程的进程号,因为子进程刚创建他没有孩子,所以返回0;

10.你对C++有了解吗?

有了解过C++的智能指针和面向对象的一些特性,但没做过实际的项目,平时用C用得比较多。

11.你有了解过内存分配吗?说一下堆和栈分别储存哪些数据

讲真的,我见过问堆和栈的区别的,也见过问代码中的全局变量和局部变量以及静态变量存储区域的,第一次遇到这么问的。

我回答的是,栈主要可以存储局部变量,函数参数。堆应该是可以存储任何数据的,堆空间是程序员申请的,想往里面存储什么都可以,但是用完之后需要释放空间,当然C++智能指针不用释放,它会自动释放。

我不知道这个回答对不对,反正按我的理解就这么回答。

12.最后反问阶段

我就像往常一样,问面试官对新人的培养啥的,公司晋升制度之类的,说实话,我想不出来其他问题。

嵌入式软件工程师面试完全指南

面经一共32篇文章,12w+字数,包含全部最新的面试必问考点,4.7w+同学学习,3200+订阅,非常适合在找工作面经薄弱的同学,3500+订阅还会涨价到39.9,提前订阅提前享受,持续更新中。

原帖链接:https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM

全部评论

相关推荐

1. 请大概说一下CAN总线的仲裁和通信逻辑。2. CAN总线的显性电平跟隐性电平是怎么区分的?3. CAN总线的通信波特率是多少?4. 实际传输过程中是否遇到过CAN总线错误(如发送或接收错误、数据丢失等)相关问题?5. 如何对不同ID的CAN消息做过滤?6. CAN消息过滤器的屏蔽规则(过滤规则)是什么?7. IMU模块通过什么方式通信?8. 从IMU获取数据的整个流程是什么?9. IMU数据多久同步一次?10. 接收IMU数据是在任务中周期性地查询吗?11. 查询IMU数据的频率是多高?12. 任务是通过OS delay来实现延时的吗?13. 创建task后,task里面都会做哪些处理,任务运行的结构是什么样的?14. 读取IMU数据时,查询过程中会发什么指令,IMU如何回应?15. IMU发送数据的触发动作是什么?16. IMU的发送频率是多少?17. 在不清楚IMU发送频率的情况下,如何决定接收任务的周期以避免丢包?18. 接收IMU数据时,buffer是怎么设置的?如果一包数据接收完但未处理,后续再来数据会怎么处理?19. FreeRTOS的任务调度机制是什么样的?20. task有几个状态?21. 任务从运行态切到就绪态的切换条件是什么?22. 任务从运行态到阻塞态的情况中,等待的资源有哪些?主动进入阻塞态的方式有哪些?23. 通过消息队列传输数据时,接收端是怎么处理的?24. 就绪态的任务是通过什么方式管理的?25. 任务上下文切换的过程是什么?会保存哪些变量?26. ARM架构的通用寄存器有哪些?27. 任务栈空间是怎么分配的?28. 是否对栈的使用率(使用了多少)做过检测?29. 电机控制是通过什么方式实现的(如何控制电机的转速和方向)?30. 电机转速调节的具体实现方式是什么?31. 实现DMA功能需要配置哪些内容?32. DMA从外设(如IMU数据接收)搬运到RAM时,源地址和目的地址配置的差异(尤其是增长方向方面)有哪些?33. 给了一段数组和指针运算的代码,给出输出结果并说明推导过程。题目还行,没有手撕
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
12-17 16:48
今天九点半到公司,我跟往常一样先扫了眼电脑,屁活儿没有。寻思着没事干,就去蹲了个厕所,回来摸出手机刷了会儿。结果老板刚好路过,拍了我一下说上班别玩手机,我吓得赶紧揣兜里。也就过了四十分钟吧,我的直属领导把我叫到小隔间,上来就给我一句:“你玩手机这事儿把老板惹毛了,说白了,你可以重新找工作了,等下 HR 会来跟你谈。” 我当时脑子直接宕机,一句话都没憋出来。后面 HR 找我谈话,直属领导也在旁边。HR 说我这毛病不是一次两次了,属于屡教不改,不光上班玩手机,还用公司电脑看论文、弄学校的事儿。我当时人都傻了,上班摸鱼是不对,可我都是闲得发慌的时候才摸啊!而且玩手机这事儿,从来没人跟我说过后果这么严重,更没人告诉我在公司学个习也算犯错!连一次口头提醒都没有,哪儿来的屡教不改啊?更让我膈应的是,昨天部门刚开了会,说四个实习生里留一个转正,让大家好好表现。结果今天我就因为玩手机被开了。但搞笑的是,开会前直属领导就把我叫去小会议室,明明白白告诉我:“转正这事儿你就别想了,你的学历达不到我们部门要求,当初招你进来也没打算给你这个机会。”合着我没入贵厂的眼是吧?可我都已经被排除在转正名单外了,摸个鱼至于直接把我开了吗?真的太离谱了!
rush$0522:转正名单没进,大概率本来就没打算留你
摸鱼被leader发现了...
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

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