各个公司面经合集
八股文地址包含以下面经中的知识和问题详解:
专栏地址:嵌入式面经地址
乐鑫
乐鑫没有好记录的,7月16做的笔试(笔试挂),三道算法题(内心对算法是抗拒的),也是在此看到了算法的重要性,也是后续复习算法的动力来源。
诺瓦科技(一面过,二面凉凉)
到现在为止,我依旧认为诺瓦科技是我面试公司中问的最全面的一家公司
1、笔试
笔试和其他公司笔试比较相同了,嵌入式选择题(C,C++,linux,嵌入式基础),可以在牛客网上刷一下,原题挺多,一道编程:链表,结构体相关的操作,两道问答题。
2、一面(52min)
(1)自我介绍:我是xxx,就读于xxx,…
(2)通信协议了解过吗(SPI,I2C,UART)?选一个你熟悉的说一下,我选的是I2C协议(必须要真的懂时序)。
(3)I2C协议你是用到哪里的,代码怎么实现的?
(4)Linux下I2C驱动编程:I2C核心层、I2C总线层、I2C驱动层
(5)platform 与 设备树的区别
(6)linux 下怎么获取到设备树中硬件(板级)的信息
(7)TCP,UDP的不同之处,socket套接字编程了解吗,TCP服务器端的编程步骤,UDP和TCP socket编程哪里不同
(8)I/O复用,select、epoll,poll的区别
(9)linux字符设备驱动程序的设计流程,file_operations 中read write,应用程序怎么读取到字符设备中的数据;
(10)系统调用的过程?platform 总线驱动的设计?mmap函数?
(11)UART串口有时钟线吗,他是怎么保证数据发完之后对方知道你发完的,UART怎么保证数据的准确性;
(12)多个进程访问同一个文件时,文件描述符是一样的吗?
(13)uboot的启动流程了解吗;stage1 和 stage2 。uboot源码看过吗,其中的数组?(uboot代码必须理解)
(14)添加过uboot中的命令吗?linux文件系统的格式.
(15)多线程通信
(16)共享内存,进程间通信方式, 共享内存如果发生泄漏,怎么查看?ipcs -m?
(17)创建的设备文件 /dev/下的,读取时文件描述符一样吗?
(18)算法相关:反转链表,链表的头插和尾插法;
(19)画过原理图吗,用什么软件画的,AD? 那在AD软件中在如果根据原理图上的器件快速选中PCB图上的器件
(20)了解Makefile吗,Makefile语法格式?
(21)struct结构体的大小,字节对齐、数组 sizeof()大小;
3、二面(22min,凉凉)
全程聊项目和职业规划,扣项目细节部分
正式批
物联安全开科技(技术面+HR面)
(1)自我介绍
(2)问项目,还是那些项目,但是由于技术官对单片机了解不多,因此问的不够深入
(3)然后问用过linux吗
(4)TCP协议、UDP协议,TCP三次握手四次分手,TCP与UDP的区别
(5)利用UDP的优点,加强UDP的可靠性怎么改进
(6)I/O复用了解吗(poll、select、epoll区别以及用法)
(7)然后面试官介绍公司做的东西:偏linux应用层编程,驱动层和内核层用的不多
(8)对应用层感兴趣吗,知道进程间通信吗,方法,共享内存了解吗
然后HR问的几个问题:
(9)大学/研究生期间做的比较好的决定是什么?(加入工作室。。。。。。。。)
(10)我看你写过博客,还挺多的,我也去看了一下,都是你自己写的吗?
(11)什么时间可以实习?实验室规定,不可以,,,,,,,,
国光电器
1、一面(群面)
(1)常规的自我介绍
(2)大学里面学的比较好的课程?
(3)你所理解的设备驱动程序的设计流程是什么?
(4)I2C协议介绍一下;
还有几个不是技术的问题,家庭情况,为什么想来广州,之类的
1、二面(技术面)
(1)给定一个字符数组,求它的 sizeof 的大小,字节对齐之类的;
(2)linux内核源码看过吗?linux内核启动流程,叙述一下;
(3)uboot源码看过吗?uboot的加载引导过程;
(4)linux内核移植做过吗,当时做的是哪一块的移植?
(5)linux文件系统有哪些?
(6)linux内核目录结构,linux查看内存的命令。
(7)自旋锁和互斥量的区别;
(8)还有一些比较简单的C语言知识,冒泡排序之类的
(9)在linux内核里怎么分配动态内存(kmalloc,内核中怎么创建线程:kthread_create)
大华
1、一面
(1)自我介绍时候提到了linux下字符设备驱动程序的编写,然后面试官第一个问题就是字符设备驱动程序的编程流程,里面重要的 file_operations 结构;
(2)进程间和线程间的通信方式;
(3)TCP/UDP协议了解吗?介绍一下两者区别(然后就背起来了),linux下的TCP编程实现过吗?(然后就接着介绍socket编程);
(4)平时开发用的是C还是C++呢?写的代码量有多少行?(这个我哪里记得,粗略说了一下)
(5)大学时候学的比较好的课程是什么呢?数学好吗?
(6)平时有看过什么专业的书籍没有?(有啊,巴拉巴拉巴拉…)
(7)然后我这么问的差不多了,你那边还有什么问题吗?
得到面试官认可,面试官也很nice
1、二面
(1)自我介绍
(2)我看你简历里有学过自动控制原理,讲一下自控学的主要内容(我真是全部记得了,都还给老师了,就把还有点影响的PID控制讲了一下),然后面试官追着问:如果给你一个温度控制系统,怎么控制温度在变化不大呢,怎么降低超调量呢?还有动态响应什么的。然后还有其他大学和研究生课程的问题(内心:一度怀疑自己是不是投错简历了)
(3)跟面试官说,我主要学的是C/C++,linux系统之类的,C语言终于开问了:数组链表的区别,数组链表插入的时间复杂度;
(4)结构体和字符数组的sizeof;
(4)uboot移植做过吗?介绍一下你做的吧
(5)多线程编程会吗?(了解的比较少)
本来以为凉凉,大概一周之后接到HR面谈薪资
中科曙光
技术面:
(1)linux内核空间和用户空间的通信;
(2)linux进程间通信方式:共享内存自己实现过吗;
(3)串口协议懂吗,我说我了解,但是用的比较多的还是I2C协议,然后把I2C协议讲了一下,还有linux下I2C编程介绍了一下;
(4)uboot的相关知识,uboot流程(stage1和stage2),uboot移植做了哪些测试,除了字符设备驱动程序,你还做过什么驱动程序:块设备,网卡设备
(5)然后问项目:mqtt协议介绍一下,你在项目中负责什么,你都做了什么工作,项目中的难点问题;
(6)c语言中动态分配内存,怎么避免内存泄漏呢?
(7)然后针对研究生期间的论文问了一些,介绍一下K-Means算法,你都是怎么进行算法改进的呢?
(8)你有什么问题问我们吗?
后来在两天之后,收到HR面的消息,谈薪资待遇;
博观智能
笔试做完之后,三轮面试,(一轮技术面,两轮HR面吧,三天时间,效率很快),拿到offer,在济南,薪资待遇还可以,因为个人原因拒了
1、一面
(1)万年不变的自我介绍
(2)C语言中内存分配几种方式(局部、全局、静态、动态?)
(3)栈和队列
(4)给定一个结构体,求 sizeof (考虑字节对齐);
(5)大端小端通过程序判断(联合体,指针)
(6)C++学过吗,智能指针的作用并且介绍一下;
(7)STL了解过吗,vector容器和list容器的优缺点;
(8)linux系统了解吗,介绍一下你知道的命令(把我能想到的全都说了),后来面试官问了一个网络命令,不记得了,尴尬
(9)uboot命令介绍一下
2、二面和三面都是HR面,基本都是容易回答的HR问题,还有就是谈薪资
天融信
1、一面(技术面)
(1)自我介绍
(2)linux内核启动流程(start_kernel 函数里面的内容)
(3)在linux系统中查找文件主要有什么命令(find,whereis,whichis,locate,grep等)
(4)TCP/UDP协议会吗?两者区别,linux下的 tcp 编程实践过吗(简单的介绍了下socket 编程:创建socket,bind,listen等之类的),然后有问客户端连接服务器,三次握手发生在什么函数中。I/O 多路复ni用了解吗?(poll,epoll和select)
(5)算法:怎么判断链表中有环,并且计算出中间环的个数(剑指offer原题):我按剑指offer上的思路说了一下:快慢指针,面试官说有没有时间复杂度更小的计算方法,思考了一下回答:还是两个指针,只要有指向同样的地址说明是有环的,然后面试官把这个思路也告诉了我一下,就是指向同样的地址空间。
(6)单向链表会吗,那写一个双向链表和循环链表的数据结构;
(7)gdb用过吗,用过(真的只是用过,列举了一些gdb调试命令),然后面试官问:怎么调试多线程呢? (对不起,这个我真的不记得了)
(8)你有什么问题问我?(工作内容。。。。)
2、二面(技术面)
二面全程围绕项目:mqtt 协议解释一下吧,你是怎么用 C 实现的,你在项目中有遇到过最大的困难是什么?怎么解决的?
我看你研究生期间做的是算法,那你解释一下这个K-Means是怎么实现文本聚类的呢?你的论文是基于什么项目呢?还有如果给你一堆协议,你怎么通过机器学习算法去识别出哪个是mqtt协议的数据报文呢?
给我的感觉就是天融信二面就是深挖项目,看你是不是真的懂你做的东西,所以呢,写在简历上的东西是一定要负责任的!
3、三面(HR)
聊工作地点,薪资情况
六方云科技
1、一面(技术面)
(1)常规性自我介绍
(2)我看你项目做的嵌入式单片机的比较多,linux下的编程了解吗?了解
(3)linux 下TCP编程说一下吧(这个问题真的遇到好多次)
(4)linux网关配置怎么操作呢(可以用命令,也可以在配置文件中写)
(5)还问了linux下的其他命令,时间太久记不得了
(6)继续问第一个项目中 mqtt 协议(我发现只要问项目,第一个问的一定是这个问题:mqtt 协议)
(6)C语言功底怎么样?答:还行(内心祈祷,别问算法),然后问了一下一道 struct 结构体(成员变量包含位域)的 sizeof 是多少,还好当时有复习到。
(7)我看你之前用过BP神经网络,现在有这样一个问题:你不是懂 mqtt 协议吗,现在有别的协议的数据包和 mqtt 协议包混在一起,你怎么用BP神经网络进行区分呢?还有在好多好多数据报文中,你怎么找到包含攻击类型的网络报文呢?可以用你懂的别的机器学习算法做。(然后我就按BP神经网络的原理去做分类了,开放性的题目,有合理的理由就行)
(8)你有什么问题要问我的吗?(工作内容。。。)
2、二面(HR面)
(1)为什么要来北京?(真的是北漂情怀驱使的我)
(2)家庭情况
(3)大学/研究生期间最有意义的一件事,最后悔的一件事。
(4)自己的优缺点是什么
#晒一晒我的offer##牛客在线求职答疑中心##23届找工作求助阵地#