海康 26超新星嵌软BSP凉经

陆陆续续投递了些许岗位,最终鼓起勇气尝试一下海康威视超新星,果不其然一面之后等待我的只有凉凉。

时间线:

4.7官网投递->4.9笔试->5.13一面(凉凉)

官网投递:

官网投递后当天下午就发了类似性格测试一样的测评题,没什么好说的。

笔试:

当邮件中收到笔试邀请的时候还是比较激动的,怀揣着激动紧张的心情完成了那份笔试题。

前面选填问题不大,题目出的都比较简单,主要就是对C语言指针那块的应用。

到后面的大题记得还是比较清楚的,其中记忆最深刻的就是让我实现一个TCP/IP客户端和服务端了。(笑死,根本不会)

还有一题就是让我写一个程序来判断设备是大端模式还是小端模式,这个倒还好,没啥难度。

面试:

笔试过去之后好久都没来面试通知,都感觉连面试机会都没有了,谁知道竟然给我发了面试通知。当时怀着对面试美好的幻想,还想着能和面试官畅所欲言,大谈嵌入式技术(手动狗头),结果一顿拷打反手就挂

面试官来的很准时,还是传统的流程,自己进行一个简短的自我介绍。自我介绍完成之后就开始狠狠拷打了:

因为我的简历上面有STM32相关的和linux相关的,所以面试官就先从MCU开始问了。

·先问的STM32F103和STM32F4系列的区别。

·然后顺水推舟就问到我用了什么片上外设。

·问了IIC都驱动了什么设备、它的帧结构和起始信号是什么样的(起始信号哪条线拉低xxx,感觉两条线顺序说错了)、如果主机没有接收到ACK可能是什么原因造成的。

·问了我都用过什么中断、中断的特点注意事项以及不同中断的区别(感觉区别这块我回答的不好,因为平时根本没考虑过这个问题)。

·因为我在回答注意事项的时候说到了不能在中断服务函数中执行耗时过长的代码被面试官问到了(感觉这块也回答的不是很好,我说会导致主程序得不到执行会影响系统的实时性,严重的可能会导致系统崩溃,但是感觉面试官对我的回答并不满意,这里面试官追问了一会)。

·接着还问我当前中断在执行的时候会不会被别的中断打断(我说如果优先级低于当前中断的就不会被打断,优先级高于当前中断的话,当前中断就会被打断,但是被面试官来了一句“确定?”,我答“确定”,面试官一脸语重心长的看着我)。

·转战linux,首先问了我我是怎么构建ubuntu根文件系统的。

·让我说一说我在linux上面常用的5个命令。

·问了问怎么在linux下根据文件名查找文件。

·问了我有没有在工程中用到多线程/多进程。

·详细问了下用到多线程的项目实例。

至此面试over。

然后是经典的反问环节......

结语:

就这样吧,感觉还是自己的技术栈不是很符合人家的用人需求吧,因为我的技术栈还是主要在MCU上面,linux相关的内容还是太少了,要不然面试官也不会问了好久的MCU才问linux,得好好总结一下了。

#面试问题记录##嵌入式软件开发面经#
全部评论
中断你回答有问题吗,我感觉没毛病啊😨
1 回复 分享
发布于 昨天 16:17 广东
友友们雁过留毛,给鼠鼠点指导意见吧,实在是太想进步了
点赞 回复 分享
发布于 今天 15:13 福建
我觉得还是要好好准备一下基础的面试知识。可以看我总结的帖子。平时每天拿出1小时来学习,备战秋招来得及。https://www.nowcoder.com/share/jump/7322173081573558661
点赞 回复 分享
发布于 昨天 16:18 山东
加油
点赞 回复 分享
发布于 昨天 11:54 福建

相关推荐

昨天 15:43
已编辑
湖南大学 嵌入式软件开发
中大厂有嵌入式相关的岗位基本都报了,一直到四月底才有几个面试。有面试:cvte,海康威视,景嘉微,零跑,高通;其中就cvte和高通oc了。海康八股准备不充分挂了,零跑电话面面试官一个劲的夸我优秀,结果后面也没啥消息。最终决定去高通了,具体流程看上贴,面不在多,有一个就行高通面筋网上是真的少,基本找不到几个,遂记录一下,高通面筋:6、linux内核空间和用户空间的通讯方式7、为什么中断不能睡眠8、内核的内存分配方式(伙伴系统、slab等等)9、kmalloc最小内存分配,预期分配128字节实际多少?10、define和const区别,分别什么时候生效?11、了解大小端吗,大小端的区别?12、cache一致性?13、cache的三级缓存知道吗?14、堆栈区别?15、介绍一下DMA?具体原理是什么?16、虚拟地址到物理地址的转换?17、MMU的具体工作流程?页表大小?18、进程的上下文具体指什么?19、char const* p有什么特点?地址变吗?20、Static、volatile的作用?21、结构体和联合体的区别?c语言位段了解吗?22、Define和typedef的区别?23、C语言函数里面如何定义多个名字相同的变量?变量作用域?比如for里面进行定义变量?24、c的函数的入参是存放在哪里?所有入参都是栈吗?25、栈是系统哪里分配的?26、c语言位段了解吗?27、define宏为什么要加括号?28、锁的类型有哪些?29、系统调用用户态到内核态会发生什么?30、linux进程通讯方式?31、linux内核如何获取用户态pid?32、linux内核调度机制?33、linux驱动第一个被执行的函数如何实现?为什么有了__init和__exit就会去执行对应的函数?34、32位的linux的虚拟内存空间的分布情况?高端内存映射区是什么?他的地址是什么?35、用户态堆栈在系统调用时会发生什么变化吗?36、Arm v8 有多少个寄存器?有几种模式?异常等级有几种?工作模式有哪些?arm上电复位后进入哪种模式?37、知道哪些调试方法?gdb调试怎么调用函数?怎么设置打印16位的变量?怎么跟踪变量,变量值改变时自动提示?如何设置断点?死机重启怎么调试?38、知道trace调试吗,知道怎么用吗?39、Linux操作系统的三大块了解吗?40、现在让你开展一个项目,主要负责生物语言识别,你该怎么开展,需要考虑哪些因素?英文问题:1、什么时候毕业?2、毕业了什么时候能到岗?3、有那么多候选人,给我几个理由让我把offer给你?#面试问题记录#还有很多基础问题就没写了
点赞 评论 收藏
分享
评论
1
10
分享

创作者周榜

更多
牛客网
牛客企业服务