校招 未知部门 / 硬件工程师 / 未知轮次
[面试日期] 2023-08-20 [面试时长] 未知
[学校背景] 广州大学 | 双非 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>嵌入式linux应用开发 面经 笔试题</h2>
<h3>1.进程&线程(16道) </h3>
<h3><p><b>1.1</b><b>异步</b><b>IO</b><b>和同步</b><b>IO</b><b>区别?</b></p><p><b>答案:</b>如果是同步IO,当一个IO操作执行时,应用程序必须等待,直到此IO执行完。相反,异步IO操作在后台运行,IO操作和应用程序可以同时运行,提高系统性能,提高IO流量。 </p><p><b>解读:</b>在同步文件IO中,线程启动一个IO操作然后就立即进入等待状态,直到IO操作完成后才醒来继续执行。而异步文件IO中,线程发送一个IO请求到内核,然后继续处理其他事情,内核完成IO请求后,将会通知线程IO操作完成了。 </p><p><br><b>1.2</b><b>进程间通信方式?</b><b><span></span></b></p><table><tbody><tr><td><p><span>管道</span><span></span></p><p><span>(pipe)</span></p></td><td><p><span>是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程之间使用,通常是父子进程。</span><span></span></p></td></tr><tr><td><p><span>有名管道</span><span></span></p><p><span>(named pipe)</span></p></td><td><p><span>也是半双工的通信方式,但是它允许用于无亲缘关系的进程之间的通信。</span><span></span></p></td></tr><tr><td><p><span>信号量</span><span></span></p><p><span>(semophore)</span></p></td><td><p><span>是一个计数器,通常作为一种同步机制,用于进程和线程间的同步。</span><span></span></p></td></tr><tr><td><p><span>消息队列</span><span></span></p><p><span>(message queue)</span></p></td><td><p><span>是一个消息链表,存放在内核中并且由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限的缺点。</span><span></span></p></td></tr><tr><td><p><span>共享内存</span><span></span></p><p><span>(shared memory)</span></p></td><td><p><span>一段能够被多个进程共同访问的内存,由一个进程创建。共享内存是最快的</span><span>IPC</span><span>方式,它是针对其他进程间通信方式运行效率低而设计的,往往与其他通信方式如信号量配合使用,来实现进程间同步与通信。</span><span></span></p></td></tr><tr><td><p><span>套接字</span><span>(socket)</span></p></td><td><p><span>可用于不同主机间的进程通信。</span><span></span></p></td></tr><tr><td><p><span>信号</span><span>(signal)</span></p></td><td><p><span>用于通知接收进程某个事件已经发生,是一种比较复杂的通信方式。</span><span></span></p></td></tr></tbody></table><p><br></p><p><b>1.3</b><b>进程的地址空间模型?</b></p><table><tbody><tr><td><p><span>text segment</span></p></td><td><p><span>存储代码的区域。</span><span></span></p></td></tr><tr><td><p><span>data segment</span></p></td><td><p><span>存储初始化不为</span><span>0</span><span>的全局变量和静态变量、</span><span>const</span><span>型常量。</span><span></span></p></td></tr><tr><td><p><span>bss segment</span></p></td><td><p><span>存储未初始化的、初始化为</span><span>0</span><span>的全局变量和静态变量。</span><span></span></p></td></tr><tr><td><p><span>heap</span><span>(堆)</span><span></span></p></td><td><p><span>用于动态开辟内存空间。</span><span></span></p></td></tr><tr><td><p><span>memory mapping space</span></p><p><span>(内存映射区)</span><span></span></p></td><td><p><span>mmap</span><span>系统调用使用的空间,通常用于文件映射到内存或匿名映射(开辟大块空间),当</span><span>malloc</span><span>大于</span><span>128k</span> <span>时(此处依赖于</span><span>glibc</span><span>的配置),也使用该区域。在进程创建时,会将程序用到的平台、动态链接库加载到该区域。</span><span></span></p></td></tr><tr><td><p><span>stack</span><span>(栈)</span><span></span></p></td><td><p><span>存储函数参数、局部变量。</span><span></span></p></td></tr><tr><td><p><span>kernel space</span></p></td><td><p><span>存储内核代码。</span><span></span></p></td></tr></tbody></table><div><span></span><img alt="" src="https://uploadfiles.nowcoder.com/images/20220108/581229029_1641638395263/83E8DEAEB34D96934C50B9397812BE63?x-oss-process=image%2Fresize%2Cp_50"> <br></div><div><br></div><p><b>1.4</b><b>进程的五种状态分别是</b><b>?</b></p><p>(1)就绪态:所有运行条件已就绪,只要得到了CPU时间就可运行。 </p><p>(2)运行态:得到CPU时间正在运行。 </p><p>(3)僵尸态:进程已经结束了但父进程还没来得及回收。 </p><p>(4)等待态:包括浅度睡眠跟深度睡眠。进程在等待某种条件,条件成熟后即进入就绪态。浅度睡眠时进程可以被信号唤醒,但深度睡眠时必须等到条件成熟后才能结束睡眠状态。 </p><div>(5)暂停态:暂时停止参与CPU调度(即使条件成熟),可以恢复。 </div><div><img alt="" src="https://uploadfiles.nowcoder.com/images/20220108/581229029_1641638871412/3A07CB8122EE5C9110B0F07A7840D157?x-oss-process=image%2Fresize%2Cp_50"></div><div><br></div><div><div><strong>以上内容摘自专刊《嵌入式岗位笔试面试真题讲解》,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:</strong> </div></div></h3>
<h3><div><a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fhd.nowcoder.com%2Flink.html%3Ftarget%3Dhttps%3A%2F%2Fblog.nowcoder.net%2Fzhuanlan%2Fv0ELPM">https://blog.nowcoder.net/zhuanlan/v0ELPM</a></div><div><br></div></h3>
<h3><div><div><span>引流:<span><span><span><span><span><span><span>华为、</span></span> </span> </span> </span> </span></span><span><span><span><span><span><span><span>小米</span></span> </span> </span> </span> </span></span>、</span><a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3DOPPO">OPPO</a>、VIVO、荣耀、一加、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3DCVTE">CVTE</a>、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E5%25A4%25A7%25E7%2596%2586">大疆</a> 、insta360影石、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E7%25BE%258E%25E7%259A%2584">美的</a> 、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3DTCL">TCL</a> <span> 、 海信、创维、烽火、<span><span><span><span><span><span><span>比亚迪</span></span> </span> </span> </span> </span></span>、吉利、长安、大众、</span><a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E7%25BB%258F%25E7%25BA%25AC%25E6%2581%2592%25E6%25B6%25A6">经纬恒润</a> 、小鹏、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E5%259B%25BE%25E6%25A3%25AE%25E6%259C%25AA%25E6%259D%25A5">图森未来</a>、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E7%2599%25BE%25E5%25BA%25A6">百度</a> 、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E6%25BB%25B4%25E6%25BB%25B4">滴滴</a>、蔚来、理想、 联发科、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E7%25B4%25AB%25E5%2585%2589%25E5%25B1%2595%25E9%2594%2590">紫光展锐</a> 、全志、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E5%25AF%2592%25E6%25AD%25A6%25E7%25BA%25AA">寒武纪</a> 、<a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E6%2599%25B6%25E6%2599%25A8%25E5%258D%258A%25E5%25AF%25BC%25E4%25BD%2593">晶晨半导体</a> 、汇顶、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E5%258D%258E%25E4%25B8%25BA">华为</a>、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E4%25B8%25AD%25E5%2585%25B4">中兴</a>、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E6%25B5%25AA%25E6%25BD%25AE">浪潮</a> 、<a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3DTP-LINK">TP-LINK</a>、讯飞、商汤、 <a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E6%25B5%25B7%25E5%25BA%25B7%25E5%25A8%2581%25E8%25A7%2586">海康威视</a> 、浙江<a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fjump%2Fsuper-jump%2Fword%3Fword%3D%25E5%25A4%25A7%25E5%258D%258E">大华</a> <span>、360、小马智行、<span><span><span><span><span><span><span><span><span><span><span>元戎启行</span></span> </span> </span> </span></span></span></span></span></span></span> 、<span><span><span><span><span><span><span><span><span><span><span>深信服</span></span> </span> </span> </span></span></span></span></span></span></span><span> 、移动、联通、电信、<span><span><span><span><span><span><span>旷视</span></span> </span> </span> </span> </span></span>、<span><span><span><span><span><span><span>四维图新</span> </span> </span> </span> </span> </span></span>、<span><span><span><span><span><span><span>中芯国际</span></span> </span> </span> </span> </span> </span>、复旦微电子、极氪</span></span></div></div></h3><a>#23届找工作求助阵地#</a><a>#嵌入式linux#</a><a>#linux面试#</a><a>#应用开发工程师#</a><a>#驱动开发#</a>
AI 推荐面试题
