嵌入式驱动那年的笔试面试-有干货

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Mingrenjiuwei/article/details/52878012

面试简述

从9月份开始即吹响了找工作的号角,众说纷纭,有老师说9月份的没有必要,因为面向学历招聘(很抱歉啊,博主第一学历太渣了,研究生学历还可以把);有学生也因为数次的碰壁而退居幕后,准备这十月份的再次重来。但是残酷的现实证明,没有经过9月分的洗礼,很难有10月份的腾飞,我也很庆幸自己能够于9月付诸行动。
我第一家去的是浙江大华,之后也投了中船但是石沉大海。在苏州园区中漫无目的地闲荡,只要看到有软件岗位的便递一份简历,聊一聊,而后转身离开。埃斯顿给我白眼,科士达和杭州富特科技嫌我专业不对口便随意打发了我;科大讯飞的笔试题都做了出来却杳无音讯,北京经纬恒润的面试颇水(虽然博主很水),随后投了苏州瑞晟微电子(节后给消息)。辗转于江宁和明故宫以及南大东南等高校,没有给我喘息的机会,接踵而至的便是各种笔试和面试。
汇顶科技笔试深难,有幸进了二面和东大的一拨人同台PK,然被干掉了,不过有幸能和高管聊天知道了自己的不足。有的时候真心觉着,你的坚持即使失败也会给你带点惊喜。中科创达笔试还行,进了HR面后,HR给我的印象尤为深刻,我敢说所有我接下来面试的HR都没有它牛,问题精简针对,不拖泥带水,还好博主比较强大经受住考验(因为偷偷瞟了一眼,发现给我的打分都是A,最高的等级)
经过节前的考验和试练,你会发现,无论你再怎么努力结果很可能还是被淘汰,因为面试只能给你带来应对的经验而非专业技能的提升。所以节间我选择提升下自己的专业水平。
节前的努力在节后便逐渐彰显出来,各种面试通知以及即将到来的笔试给了自己莫大的动力。人生都是选择的产物,你的选择决定了你将来成为什么样的人,面试也是如此。
节前的盲目选择到节后的针对性选择也是一个提升过程,因为精力有限,可以选择自己感兴趣或者把握比较大的
节后主要是中新赛克、格力、中兴、瑞晟、全志科技、芯动科技、深信服这几家。我综合前面的汇顶科技讲一讲面试内容。其实各大公司面试环节都类似,具体可以加入493023412(TG微课堂①-求职不迷茫 )群,里面的老师讲解的都挺好的,会总结面试前中后的注意事项以及如何套路面试官。主要环节:自我介绍、专业面试(1-2面)、HR面,一般到了HR面基本上能定性你被录取了(很大可能)。具体的面试问题稍后我会贴出。
面试过程中你会发现,你从无话可说到滔滔不绝、从手足不定到气定神闲,若如此恭喜你成为面霸。这一个过程也是时间积淀的结果,因为万事万物终究会开花结果,只是方式不同。废话不多说了,上干货。

笔试面试题

  1. 二分查找
  2. 校验
  3. 关于字符串:
  4. 关于数据结构
  5. 关于其他简答题:
  6. 关于编程
    (一) 1.5n次比较,求出数组的最大值和最小值(数组乱序)
    (二) 环形缓冲区,用数据结构实现?
    (三) 链表的删除,头部插入,尾部插入实现?
    (四) 求出一个字符串的最长重复串,如“ababc”,返回“ab”
    (五) 求出一个周期字符串的最长周期,如“abcabc”,返回3
    (六) 使用C/C++实现一个单向链表,链表需要支持如下接口:
    (七) 网络字节序转换,大端小端。
    (八) 打开一个设备,读取文件,打印输出。
    (九) 给一个整数,转换为十六进制字符输出
    (十) 给在 32 位处理器上,将任一整数转换为二进制形式。
  7. C语言宏中”#”和”##”的用法
  8. 关于IPv6:
  9. Arm有多少32位寄存器?
  10. HAL层:硬件抽象层
  11. Arm2440和6410有什么区别?
  12. 开发板时钟(2410和6410对比)什么是PLL(锁相环):
  13. Arm开发板的资源,主频多大?内存多大?
  14. CPU,MPU,MCU,SOC,SOPC联系与差别
  15. 线程池怎么设计
    (一) 什么是线程池?
    (二) 为什么要用线程池?
    (三) 线程的工作流程
    (四) 线程池设计
  16. free函数怎么知道释放内存大小
  17. 构造函数和析构函数抛出异常
  18. tcp/udp上层网络协议举例并说明原理
    (一) HTTP:
    (二) TFTP:
  19. 关于内存泄漏
  20. 一个服务器对10000客户端,服务器上的线程模型
  21. 代码效率优化怎么搞
  22. GPIO三种状态:输入输出和高阻态
  23. 上拉和下拉:
  24. GPIO外部有三种情况:1)直接接地2)直接接电源3)悬挂。请问在GPIO内部可以实现上拉和下拉的情况下如何判断这三种情况?
  25. 串口协议讲一讲?
  26. RS232和RS485通讯接口有什么区别?
  27. IIC时序图画一下,IIC有哪些状态,给一个字节,将它发送出去。IIC有什么注意事项?有没有用I/O模拟IIC,如果有需要注意什么?
  28. 讲解一下IIC总线
  29. Bootloader的流程
  30. 为什么2440的内存起始地址是3后面7个0呢?
  31. 为什么6410的内存起始地址是5后面7个0呢?
  32. 三个字节char型,上电为随机数,求三者之和为零的概率
  33. VS中Debug和Release的区别
  34. Zigbee的传输速率多大?(智能家居)为什么用它,和其他传输有什么区别?WIFI安全吗,为什么?
  35. 用户和内核如何通讯?(追问:驱动程序中如何从用户到内核)
  36. 计算机访问哪个最快?
  37. 线程和进程的区别?
  38. 设计模式有哪些?
  39. 软件的设计流程?
  40. 指针和引用的区别?
  41. 内存管理有什么看法?(MMU)
  42. 锁有哪些?有什么注意事项
  43. 信号量和自旋锁区别
  44. 中断能不能睡眠,为什么?下半部能不能睡眠?
  45. 上下文有哪些?怎么理解?
  46. 死锁产生的原因及四个必要条件
  47. 驱动中首先执行什么?
  48. 触摸屏和lCD驱动中做了什么,流程是什么?
  49. 输入子系统上报系统有什么函数?怎么知道有没有上报成功?
  50. 总线设备驱动模型之间是什么关系?设备和驱动之间的如何匹配,匹配规则是否可变?
  51. 什么是交叉编译?为什么需要交叉编译?为什么还要主机编译
  52. 简述linux系统启动过程
  53. Linux设备中字符设备和块设备有什么主要区别?分别举例。
  54. 主设备号和次设备号的用途
  55. Linux下rs232和rs485编程有什么区别?
  56. Uart和IIC和SPI的区别(提示:关于异步和同步,电子器件上的)?
  57. 用串口发送十个字节就丢失一个两个你会怎样检查;发送的时候对方设备不响应你该怎么办
  58. IIC,scl频率多大
  59. 触摸屏中断做了什么,LCD中断做了什么?
  60. zigbee用的哪家方案?zigbee端点类型有哪些,这些概念的区别?端点能够中转吗?一个端点上有哪些设备?你做的项目或者实践有多少节点?zigbee上有操作系统吗?
  61. 客户端是否单独连接服务器(客户端和客户端直接是否点对点连接)?客户端之间有没有交互?有没有考虑服务器进程如果崩溃了,客户端资源没有得到释放怎么做?那么如果服务器正常,客户端中途断开连接怎么办?如果发送文件,是直接点对点吗,也就是客户端之间直接通讯?线程池中线程之间是分离的吗?
  62. 没有使用MySQL之类的吗?sqlite是线程安全的吗
  63. 视频监控系统这个项目能不能做图像的简单处理,比如截取?网页中如果要打印换行符,怎么打印?这个项目中做的驱动中,你这个视频子系统用的是不是内核的?
  64. QT,用的熟吗?做的驱动有没有编入内核?既然没有编入内核,那是需要手动去启动和装载吗?需不需要创建设备节点?用户是如何访问这些驱动的?做的驱动都是字符设备吗?
  65. 你这个项目中zigbee用的是哪家的方案?控制设备有哪些?有多少节点?也就是说只是一对用于通讯是吗?。
  66. 线程和进程,为什么选择线程?线程为什么占用更少的资源?线程共享进程的哪些资源?线程池如何实现的?是不是什么都用线程比较好?
  67. 画一下Arm的体系架构
  68. 以下图片是哪种语言
  69. typedef struct _MAD_SYS_CONFIG{ MAD_U32 smiBase,…}MAD_SYS_CONFIG_t;
    typedef struct {MAD_U32 smiBase,…} MAD_SYS_CONFIG; 这两种写法是一个意思吗?
  70. 关注过哪些开源的东西?
  71. 内核定时器如何实现(通过链表)?如何找到具体的链表?
  72. 内核链表为什么具有通用性?
  73. 网盘妙传功能如何实现?
  74. 用户态和内核态通信方式?
  75. 分配内存哪些函数?kmalloc有两个参数,各个作用是什么?
  76. 有哪些锁,各自的效率问题?自选锁怎样实现的?
  77. 孤儿进程与僵尸进程[总结]和守护进程如何实现?
  78. 第三个项目是如何处理并发的,除了线程池还有更好的哪些方法?
  79. 主线程如何知道子线程的退出?
  80. 讲解下内核网络体系?
  81. 软中断是如何实现的?
  82. 对内存管理有什么看法和了解?
  83. 哈希表原理?针对字符串,如何确定key值(hash表存储字符串时,key怎么确定)?map怎样实现的?map和哈西表不一样吧?Hash和B树的区别?
  84. 接触过哪些STL容器?哪个效率最高?
  85. 写驱动的时候有没有遇到问题,怎么检查?有没有遇到coredump?
  86. 应用程序如果运行时出现错误该怎么排查;如果越界该怎么排查?
  87. open和fopen有什么区别?read/write和fread/fwrite区别?
  88. 线程池如何使用创建的?让你自己写一个线程池怎么实现?
  89. 主线程如何检测一个子线程也就是客户端的退出?如果现在让你实现可以浏览文件夹里文件再传输,你会怎么做?

我相信如果能搞懂以上问题,面试什么的便没有问题。

HR面试题

正常的HR面试:
平时喜欢干什么
高考情况,成绩,考研情况,成绩

特此列出部分我认为具有挑战性的问题:

中科创达HR面
1. 自我介绍下。被打断【她说不好意思注意回说谢谢,同时还要记得自己说到哪里】然后再次打断她没有让你继续自我介绍。到此自我介绍便结束。
2. 你家在哪,这些项目都是你做的吗?有没有让自己感到很挫败的事情?同学周围的人对你是怎么评价的?你的缺点是什么?【老掉牙的问题】
3. 分配任务,你和另外一个人合作,主要都是你做的,但是上级不知道,把功劳主要分给了另个人,你会怎么想。我首先讲了自己学习到的很多,并不会太在意!然后她追问:如果一直出现这个问题,你会怎么样。【先软后硬】
4. 分配一个任务,由你和另外一个人完成,你只能借助他完成,因为其能力比你强,如果他和你格格不入,你会怎么办?如果一直这样你会怎么办?【先自身后他人,结合团体公司利益阐述,最后可上升到公司层面
5. 我们公司有两种,一个是个人负责项目,成就感更好,一个是和同事一起做项目,你倾向于哪种?我说:可以和能力高于我的一起合作,并没有特定要求个人自己做。追问:如果有人能力不行怎么办?我说:没有关系,可以带。追问:不是托你后腿吗。我说:教同事,能提高自己,给予会带来回报,而且自己会的并不算真正会,把别人教会了才算。【注意这里的陷阱,一定要选择团队项目

中兴HR面
1. 你是如何完成一个分配给你的任务的?
2. 在你做的这些项目中有没有很难忘的困难或者经历,那你有没有想过,如果现在回想这个困难如何更好地去解决?【考察你的即时总结和部分记忆力的能力+真实性考察】
3. 这些项目都比较闲散,和真正工作的时候不一样,不能这块没有做好放一段时间,那你怎么办?【实战和训练的区别,可自由发挥】

博客写完,浙江大华和中兴的offer还没有消息,虽然手里有了9个offer,但是只有那几个是比较中意的。最后祝大家能够有博主的好运,愿都能找到自己的归处。Best wishes to you!!

PS:博主又来更新了,有幸再次斩获中兴和大华的offer,但是选择公司很难,具体可以参考牛客文章
http://mp.weixin.qq.com/s?__biz=MjM5NDYxMzk1Nw==&mid=2652260196&idx=3&sn=d44b136bfff82bc157db4c43b7477a17&chksm=bd67f8ce8a1071d8164fbb5a9ae5bc6e51d08286428fc86803c88ba7cf179e1716da1b017169&scene=4#wechat_redirect
中的阐述,我觉着中肯有用。

展开阅读全文

没有更多推荐了,返回首页