网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一面:
时间:2020.8.31 15:50 - 16:23
地点:学校实验室,上课做课设。。
方式:突击电话面
面试官信息:钟?(可能是)
岗位:安卓系统工程师
面试前准备:无
过程描述:
大学学习了什么知识,介绍一下做过的项目?
(stm监控,arm智能家居,arm监控)
stm项目:
有没有想过怎么降低功耗?(没想过)
那你现在想一想?
问在这项目你觉得收获到了什么?
你用bmp编码的程序是怎么设计出来的?
你怎么检查传过来的图片是否正确?(没传错。。)
那你现在想想怎么检查?
arm智能家居:
用什么去录音?alsa
alsa你知道什么功能吗?
为什么你要用alsa录音?
为什么选择xml文本传数据?
你是怎么调用科大讯飞的语音识别功能的?
你是为什么要做这个项目?
arm监控:
你了解到opencv底层原理吗?
问除了刚刚介绍的外设还有用过什么外设吗?
问会不会点亮个lcd!
你有什么问题想问我:
二面形式是怎么样的?
怎么称呼您?
您在公司是什么岗位呢?
如果进cvte那会分方向吗?有可能做安卓系统工程师吗?这个会具体看你本人的意愿
那是找做一阵子再选择方向还是进去就选方向?这个会看个人具体意愿
二面:
时间:2020.9.5 9:50 - 11:00
地点:线上视频Mindlinker
方式:1对1
面试官信息:黎,
岗位:嵌入式Linux(具体方向未知)
面试前准备:
安静的环境,准备本地编译器,会有编程题
过程描述:
- 自我介绍
- 平常生活都有什么活动?
- 最平淡的一天是怎么渡过的?
- 介绍一个比较熟悉的项目?为什么想做?遇到了什么问题?怎么解决?
- Qt的信号与槽怎么实现?
- 问了qt的非ui线程是否可以被打断?
- 你为什么觉得出现这样的bug是qt的tcp被打断导致的,这并没有什么实际根据。你是怎么测试,才觉得是?
- 调用函数需要用掉多少栈空间?
- 你在用ucosii的时候,怎么给任务分配任务堆栈的?我用1024也行,128也行,甚至12也行,怎么选择呢?
- 那你怎么测试ucos某个任务需要的堆栈是多少呢?想一个办法。---- 加到它跑崩。。。。(。。)
- 那你怎么知道stm32跑崩的呢?难道它跑偏了还告诉你吗?
- 为什么选择qt?
- 还用过其他图形化库吗?
- Qt是在什么环境运行的
- 近期还有在学习什么嘛?
- 你一般都怎么学习的?有看到什么觉得不错的书吗?
- 你觉得正点原子的视频和野火的视频有什么优缺点吗?
- 那你举个例子说说?裂开。。。。。照着印象说了点。。
- 设备结点用什么命令注册?
- 那你说说pwm驱动是怎么设计的?字符设备
- 你用的舵机最小精度多少?整个人裂开。。。。。
- 嵌入式linux你觉得哪块学地比较好?就进程线程,网络编程这些,
- 那我问点进程线程的问题,进程和线程在内核中的怎么调度的?
- 内核调度的最小单位是什么?
- 好像有问道进程,我回答是申请资源的,给线程用的。
- 我现在给你两种情况,你说说调度上有什么区别?一个情况是有两个进程,另一个情况是一个进程中有两个线程。(应该解释多线程与多进程之间的异同)
- 你用什么线程库来使用线程得?
- Pthread_create创建一个线程会立即执行吗?
- 学了数据结构吗?比较熟悉哪个?
- 平时实际应用到数据结构吗?
- 熟悉c++吗? 介绍一下多态是怎么实现的?
- 介绍一下虚函数怎么实现多态的? 听说最好是说全重写、重载;我只提到了重写/覆盖
- 编译期间是怎么实现多态的?
- 执行期间怎么实现多态的?
补充: - 怎么将两个设备挂在spi总线上;
我们来做道题把
一道leetcode的简单题:
给定一个有序数组从小到大排列的,从数组中求出哪两个元素之和等于Target;要求时间复杂度为O(n)
Input: numbers={1, 6, 12, 15}, target=18
Output: index1=2, index2=3
我提前问了几个问题:
1) 是否需要考虑多个解的情况?不需要,只有一个解
2) 是否需要自己拟一个例子,以及完成整个程序?写方法就行。
int target = N;
vector func( vector<int> & v ){
if( v.size() < 2 ){
return {}; //特殊情况处理
}
//双指针
int l = 0 , r = v.size()-1;
while( l < r ){
int sum = v[l] + v[r] ;
if( sum == target ){
return {l , r};
}
else if( sum > target ){
-- r ;
}else{
// sum < target
++ l ;
}
}
return {};
}
问:说说你的思路?
最后说:嗯,这样确实能解决这个问题。
有什么问题想问我?
- 二面后什么时间可以收到消息?这不是你该知道的吗?(我去。。。我问了啥,我裂开。。)
。。。。省略用于掩饰尴尬的几十个字。。。。
- 请教一下您岗位?
嵌入式Linux呀。
- 其实我是问一面的面试官钟大哥,他说他是安卓系统工程师,听说好像进入之后会分方向,但我了解的还是有点模糊,所以想问一下。
这样啊,嵌入式Linux是一个大类,进来后会根据兴趣分方向,有安卓应用工程师、Linux应用工程师、安卓系统、Linux系统、以及单片机类。
最后总结:
感觉我运气很好,这个面试官人也很好,这是我第一次面试(面对面的),有些问题也没准备好,我说我没想过、没试过的时候, 面试官大哥总会跟我说,你想想看有什么方法呢?给我思考的机会哈。最后对我的问题也很细心的跟我解释新员工进来后如何,以及嵌入式进来后的可能会分的方向!
这些问题都仅供参考,这些都还很简单,编程题也是,不过也有朋友问的问到很底层的驱动、内核移植裁剪、uboot,那是有点南了,有裂开的,也有过的。。准备充分,相信还是可以的!
综合面:
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
mg-dbqCErwB-1715738731598)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新