嵌入式面试经典30问

1. Linux内核的组成包括哪些部分?
2. 用户空间与内核空间之间有哪些通信方式?
3. 系统调用read()和write(),内核具体做了哪些事情?
4. 系统调用的作用是什么?
5. 内核态和用户态有什么区别?
6. bootloader、内核和根文件系统之间有什么关系?
7. bootloader通常有几个阶段的启动过程?
8. Linux内核是如何被bootloader装载到内存中的?
9. 为什么需要bootloader?
10. Linux内核有哪些同步机制?
11. 为什么自旋锁不能睡眠,而信号量可以?
12. Linux下有哪些命令可以检查内存状态?
13. 大端序和小端序的区别是什么?各自有什么优缺点?
14. 一个程序从开始运行到结束经历了哪四个过程?
15. 什么是堆、栈、内存泄漏和内存溢出?
16. 堆和栈有什么区别?
17. 死锁的原因、条件是什么?如何创建死锁?如何预防死锁?
18. 硬链接和软链接有什么区别?
19. 虚拟内存、虚拟地址和物理地址之间的转换关系是什么?
20. 32位和64位系统有什么区别?
21. 中断和异常有什么区别?
22. 中断是如何发生的?中断处理的大致流程是什么?
23. Linux系统中有哪些与挂起、休眠、关机相关的命令?
24. 为什么数据库要建立索引?索引有什么缺点?
25. vector和deque有什么区别?
26. 为什么STL中有sort函数,而list还要单独定义一个sort?
27. STL底层数据结构是如何实现的?
28. 使用迭代器删除元素会发生什么?
29. map是如何实现的?它的查找效率是多少?
30. 几种常见的模板容器插入操作的时间复杂度是多少?
答案附在面经里
全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
05-14 08:58
一共面了十八分钟,最后我还和面试官聊了两分钟有的没的总体没有问太多技术相关的 可能是刷kpi或者啥吧咱也不懂**1.正常步骤 先是自我介绍2.面试官从我的自我介绍出发 问了问我的研究生期间课题因为我是做深度学习目标检测的,就问了问为什么做这个嵌入式开发而不是算法方向的我就说是我学习低一些 而且在研究生期间一直自学开发方向 而且也不是完全不找算法 简单说会的多没啥 技多不压身3.面试官让我讲了讲针对这个嵌入式开发我的优势劣势优势大概我就说C和C++写的比较好 学的比较多 对于linux和操作系统也了解过很多缺点就是没有实际的板子上的开发经验4.面试官问平时是怎么学习C++的我说是通过网上的课程一步一步看下来5.有没有什么实际的应用我就说了说 项目项目是一个基于c++linux的集群聊天服务器 主要用到 数据库 muduo网络库 redis nginx中间件什么的多线程编程 进程间通信 一些列6.因为项目设计多线程 面试官问多线程编程需要注意什么我说 线程安全 和 资源控制 对线程的访问优先级7.如何保证线程安全加互斥锁 自己用到的互斥锁比较多8.哪种情况需要加锁 哪种情况不用加锁我就说 不知道对不对 我这么说的 如果同时访问 不修改 只读权限 不需要加锁 设计修改 需要加锁9.因为我自我介绍说我学习能力强 就让我具体介绍我从我时间管理 研究生期间参加比赛 写论文 研会副主席方面进行大概说明·10,反问环节这个环节我就和面试官聊了聊 因为我嵌入式没基础 就问了问新人培养 然后再推销了一下自己就没了#24届软开秋招面试经验大赏##第一次面试##面试#  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
转发
6 37 评论
分享
牛客网
牛客企业服务