面经——华为联发科小米兆易创新(2024年秋招嵌入式软件)_兆易创新面试

总结

9.25号发来邮件,要先签两方协议。这家公司做Smart TV之类的显示设备的,安卓驱动和Linux驱动都有,也有嵌入式应用层的。零食甜点下午茶,10点以后打车报销,每个季度有奖金(0.5-1个月月薪),年终还有年终奖(据说可以拿到18薪),就是加班太多(据说996是标配,忙的时候9107),怕受不了。最后还是拒绝了。

浙江大华股份(9.3)
一面(30min,9.10)

2020.9.8号做完笔试,9.10下午突然打电话来问是否方便,做个电话面试。

自我介绍

笔试题的建议

笔试题好多关于C++的部分,个人是做嵌入式软件部分的(偏底层)。做起来C++部分有些吃力。希望笔试题可以分嵌入式上层和底层的部分。

项目

问了好久,面试官对我做的项目很感兴趣。

static关键字

修饰变量的话,这个变量的作用域只是本函数,而且如果多次调用函数的话,这个变量只会被初始化一次。修饰函数的话,函数的作用域只是在本文件内。

Arm有几个寄存器?什么是CPSR,SPSR?什么时候用到?

37个寄存器。CPSR是当前程序状态寄存器,存储的是当前程序的状态,比如上下文的一些寄存器内容,程序运行的话就要用到CPSR。SPSR为备份的程序状态寄存器,主要是中断发生时用来存储CPSR的值的。

字符设备有哪些?和块设备有什么区别?如何写一个字符设备驱动?

字符设备有键盘,鼠标等。字符设备和块设备的区别主要是访问方式不同,访问字符设备是以字符流的方式访问的,访问块设备是以块为单位,并且可以随机访问。

以一个LED驱动为例,先定义一个file_operations结构体,接着编写init函数,在init函数中完成对管脚的映射,register_chrdev字符设备的注册,class_create类的注册,class_device_create在类下面注册一个设备。exit函数中完成字符设备的卸载,类的卸载,内存空间的释放。在open函数中完成硬件管脚的初始化,在write函数中完成点灯操作。

Uboot启动过程说下?

没有难度。

堆和栈的区别?

1.申请方式,栈的空间由操作系统自动分配,释放,堆上的空间手动分配,释放。2.申请大小,堆的可用空间比较大,栈的可用空间比较小,一般是2M。3.申请效率,栈申请速度比较慢,堆的申请速度比较快。

为什么栈的空间不连续

不知道。

通用学科,你喜欢那个,学得好的。

数学,英语。

数学的那个分支比较感兴趣

矩阵理论。因为在许多问题的深入研究中,基本上50%以上的问题都会转化成矩阵来解决。所以这部分看的比较多。

除了课本学的数学之外,自己私下有没有看其他的关于数学的内容

没有,自己看的比较多的是专业方面的书籍。

专业课中,那个课学的比较好

C语言,操作系统,计算机组成原理,Arm体系和架构

除了课堂上学的之外,某个领域有没有深耕,自己研究过,私下看过

Linux内核的源码,操作系统,计算机组成原理,私下都会去花时间去了解,学习

如何学习的?以什么样的方式

我在学习Linux驱动的过程中,会想到一些问题,比如UBOOT的启动过程中为什么会关闭中断,关闭DCACHE,关闭MMU,关闭TLC等。遇到这些疑问我就会去查,解决问题的过程中会想到其他的一些问题,把这些问题记录下来,一一解决。

像Linux内核的话我最近再看一本书,赵炯老师写的Linux0.12源码剖析,这个书以Linux0.12内核为基础,详细介绍了内核的各个部分,虽然看起来比较吃力,但是我也在坚持阅读。

复盘:有条理更好。学习的形式主要分为两种一种是在学习的过程中解决疑问,以解决问题为导向。比如,在移植UBOOT的过程中,我会想到为什么要关闭ICACHE,DCACHE等,关闭中断等(这里可以抛出这些问题,以防后面会问),遇到这些问题我就会记录下来,然后上网去查资料。在解决这些问题的过程中,可能会遇到其他的问题,继续查找相关资料,直到最后都搞清了。第二就是系统的学习,如果有比较充足的时间,我会去拿着像Arm体系和架构,操作系统,Linux源码剖析这些书去一点一点的读。去理解这些内容。以上就是我平时的一个学习方式

C/C++那个更熟悉?做过开发吗?

C更熟悉,做过开发,3000行代码的经验。

Linux操作系统熟悉吗?

熟悉,常用的使用都是没问题的。

平时有空了做什么

我会去学习一些新的知识,研究一些底层的东西,比如操作系统,计算机组成原理等。我到现在一直坚持的一个事情就是写博客。每周的话我都会把这周的疑问,这周学习的新的知识去做一个总结,每周都会要求自己去发布一篇博客,对本周的内容做一个总结。

复盘:有空的话我更多的时间还是投入到对于技术的学习中,在学习的过程中我会通过写博客的方式来输出自己的想法。每周我都会去坚持写一篇博客,博客的主要内容就是这周的学习的新知识以及遗留的疑问的解决。

反问

这个算第一次面试吗?什么时候会得到这次面试的结果?下次面试是否会提前通知?

算第一次面试。结果的话这最近两三天会给到。因为人比较多,面试不会提前通知。

总结

面试时间35min吧,整个面试过程还是很顺利的,问的问题基本都答了上来,唯一 一个关于栈的空间不连续的问题,确实是自己的知识盲区了,后面也补上了。

回想起来。有些问题应该想好再说,注意条理性,问你什么答什么,不要有废话。

二面(35min,9.12)

自我介绍

进程和线程的区别

1.进程是系统进行资源分配和调度的一个基本单位,线程是CPU调度和分配的基本单位。2.进程有自己的独立地址空间,线程是共享进程的内存空间的。3.进程切换的开销大,线程切换开销小。4.多线程程序只要有一个线程死掉,整个进程也跟着死掉了,多进程程序中的一个进程死掉并不会对另外一个进程造成影响。

死循环有几种方式来写

for(;1;){},while(1){},do {} while(1);

看你写的熟悉内核的总线设备驱动模型,讲解下。总线设备驱动模型和字符设备有什么区别?

总线设备驱动模型和字符设备驱动并不是一个平行的概念,总线设备驱动模型是在字符设备驱动模型的基础上套一个外壳,其实内部的驱动编写方式仍然和常规的字符设备驱动基本是一样的,这样做的目的为了隔离BSP和驱动,使得驱动具有更好的可扩展性。

Uboot如何引导内核启动的?

uboot引导内核启动主要向内核传递三个参数R0,R1,R2,第一个参数R0,默认为0。第二个参数,R1,CPU ID,告诉内核板载CPU的型号。第三个参数R2,告诉内核映像文件存在什么地方,板子还剩多少内存空间。这些参数的传递都是以tag_list的方式传递的。

主要擅长的开发语言

C语言最擅长

左值和右值

左值可写,右值可读。通常,左值可以作为右值,但是右值不一定是左值。

数组名和指针区别

数组名对应的是一块内存的地址,指针是指向一块内存地址。数组名对应的内存地址不可以修改,指针指向的内存地址可以修改,更加灵活。数组存放的是数据内容,指针存储的是地址。

平常像C++,python这种语言有涉及吗

C++能看懂,会改。自己独立写一个大程序的话不太行。汇编的话是自己学过的,能看懂,会改。python语言没有涉及到。JS/HTML/CSS这些前端的语言是自己在项目中实际用过的,使用没问题。

复盘:先抛出结论,C++ 汇编 JS/HTML/CSS这是我会的语言。然后再描述。

之前做的项目都是偏底层的实现,对吧。

不是。能称得上是底层的就是第二个项目吧,移植uboot2012到2440的开发板。第一个项目的话是硬件软件的一个设计开发,没有涉及到底层的东西。

复盘:如何清晰的描述第一个项目。第一个项目主要做的就是硬件的设计,软件代码的移植,是偏上层的,没有和底层相关的技术。

你自己考虑的话以后自己是偏向底层的开发对吧

对的

是偏向系统呢,驱动呢,内核呢?

我目前考虑的是做驱动开发

为什么是驱动开发呢

我觉得做底层这一块比较有意思吧,像做驱动开发的话,我们知道像安卓的camera驱动,音视频驱动这些,都是独立的一块,每一块拿出来都值得研究,我个人也比较倾向于从事有挑战性的工作。目前考虑的是先做Linux驱动,以后如果有可能的话会去做安卓的驱动,再慢慢的到camera驱动,音视频驱动这些。这也算是我的一个职业规划吧

复盘:回答的有点跑偏了,不过不要紧,还是向面试官表达出了自己做这个行业的一个规划。

下次这样回答:因为我觉得做底层的话,可以更清楚的知道我们的程序是如何运行的,程序编译完成后是如何在内存里面排布的,我个人对于技术好奇心很重,经常会想一些问题,比如在uboot启动过程中可以把dcache,icache都关掉吗,Linux内核是如何知道我现在所处的环境(运行于那个cpu上,其实就是uboot和内核参数传递方式,故意说的不清楚,让面试官问你)等等。对于这些问题,我喜欢刨根问底都搞明白。因此我喜欢做驱动开发。

除了上课外,你会看一些什么样的内容呢?

我最近在看的两本书是Linux内核源代码情景分析,赵炯老师的Linux0.12内核完全注释。昨晚我在看的是Linux内核的源代码情景分析中的数据结构部分,包括链表,队列,二叉树等是如何实现的。(很巧了,正好昨晚看了这部分)。此外,每周的话,我都会去学习一些新的知识,把自己的感悟和其他人对于这个问题的看法记录在博客里面。大概就在些把,做的最多的就是写博客,从输入到输出的一个反馈把。

复盘:先抛出结论。先说,做的最多的就是写博客了,从输入到输出的反馈,巴拉巴拉。

我每周做的最多的事情主要有两个。第一个是学习新的知识,学习一些自己感兴趣的内容,比如我最近在看的书。第二就是写博客,每周我都会写一篇博客,这篇博客的内容主要就是本周学习的知识的总结,或者是之前遗留的疑问的解决。

除了知识学习外,平常还有什么爱好

每周都会跑步3次左右,每周最少打一次篮球。

看你写的博客,11个月,104篇,相当于每个月差不多10篇左右吧。

这104篇中有好多是我在自学Linux驱动开发过程中的一些笔记,随笔。在学习的过程中就顺手记录下来了。其实到后面慢慢发现,一个月内想要产出一篇不错的文章的话,还是要花一点时间的。所以说,我现在对于我自己的一个要求就是每周一篇,保证质量。不像之前那样,以一种记笔记的形式。

这些文章中那些是访问量比较高的

单链表的增删改查反转等操作,单链表的冒泡,快排,归并等排序,线索二叉树等。

数据结构也是自学的吗?对树熟悉吗?说下那些树,有什么特点

满二叉树,所有根节点都会有两个子节点。平衡二叉树,根节点的左孩子比根节点的值要小,右孩子比根节点的值要大

复盘:平衡二叉树都回答错了。

做驱动过程中,有没有针对某一个点的优化和改善?

犹豫了半天,没有想起来。尴尬!

复盘:最基本的按键驱动啊,由查询方式改为中断方式。Uboot的启动过程中,将重定位的程序靠前存放(链接脚本),保证在4K以内的代码能完成后面程序的复制。

反问

我什么时候能得到二面的结果呢?

一周之内。后面会有HR联系你的。

接下来还有几轮面试

应该还有一轮面试。HR面完了之后会综合评估,给出offer。

总结

总体还行吧。70分。面试问的技术问题都是自己在资料中总结到的,二叉树的说错了,不知道面试官发觉没有。面试中很大一部分时间都在聊博客的事情,也算自己擅长的方向。

最后一个问题 回答的不好,实在没想起来,现在想想,举一个差不多的例子就可以了。直接回答不会有点不好。

三面(15min,9.14)

面试完了有什么收获

有些问题本可以回答的很好,但是由于没什么经验,答得不太好。

目前投了那些公司

就投了两家,一家是XX,另一家就是大华,大华是面试进度最快的。(其实已经投了几家了)

家庭成员的情况。对工作地点有没有要求?

如实回答就可以。

期望的工资

我说,公司应该都有个统一的标准,按照标准来就好了。HR说你最好还是说一个吧,我说了XXX。

目前有那些OFFER

当时怕压价,就说了有了XX和XXX的offer(实际上都没有啊)。其实这里说漏嘴了,之前说只投递了两家,哪里来的offer?不知道HR有没有意识到。(如果大华的同事看到了,不要打我啊,哈哈。)

反问

什么时候有结果?

一周之内。

总结

今天已经是9.21了。仍然没有结果。明天问下吧。

最终的offer发出是在9.30号,看了下也比较满意!

兆易创新(9.3)
一面(50min,9.21)

项目问了很久

30min

字符设备如何写,框架

资料总结的驱动框架里面有。很容易答了上来。

LCD驱动框架

资料总结的驱动框架里面有。很容易答了上来。

uboot启动流程

资料总结的驱动框架里面有。很容易答了上来。

SDRAM接口地址

具体地址忘了,但是我知道他是接在bank6的

你是北方人,对工作地点有要求吗。

我:没有。我主要看重我在公司做什么。

向你介绍下我们部门吧。巴拉巴拉说了很多工作内容后(当面试官说这个的时候,我觉得就有戏了),主要是做指纹芯片的,工作内容大多集中在在Android底层和hal层,给客户解决问题要占50%的时间。

其实个人不太喜欢这个工作,主要是有点FAE的感觉。但是当时没说出来。

二面(15min,9.25)

如何了解到兆易创新的

很多比赛都是兆易创新赞助或者以兆易创新的名字命名的,我也参加了兆易创新今年举办的研电赛,我们在研电赛中获得了全国三等奖。

目前手上的offer?给你开了多少?

大华,全志。还没谈。(当时也是为了怕压价,说了手上有两个offer)

何时发三方?先拉进群

10月底,11月初。

工作地点去深圳还是上海?

再考虑下。

父母对于工作地点的要求

没有。

打算在上海,深圳落户吗

没有。

直接拉进offer群里了,200+人,群里好多电科大,西电的,西交,西工大的,我在群里都不敢发言。

总结

个人还是不太喜欢这个工作,主要是做Android底层和Hal层,还给客户解决问题,占用了50%的时间。其实30%的时间是可以接受的,50%有点多了。感谢兆易创新对我的认可,不好意思!

景嘉微(9.13)

景嘉微的面试还是专业的。一天之内三面。每次面试都是两个面试官,二面还是一轮压力面。

一面(35min,9.23)

项目

问的不详细,基本都是原理之类的,解释清楚就好。

看你学过数据结构,自学的吗?刷了多少题?问个简单的吧

自己学的。具体多少没算过吗,大概有200道左右吧。

如何判断一个数是不是质数??真不会,忘了质数的概念,想了半天,面试官说,估计你对质数概念不了解,算了。

自旋锁和信号量说下

答对了。

二叉树什么时候会退化?什么是平衡二叉树?

不知道什么时候会退化。平衡二叉树就是左右子树度的差值小于1.

uboot启动流程

说了很多遍了。

Cache一致性

不知道这个概念。但是我具体说了下读写Cache的一些注意问题,比如初始化的时候一定要清空Cache之类的。

如何写一个字符设备驱动

init函数,exit函数,file_operation结构体之类的东西

uboot启动为什么要关闭中断,MMU,DCACHE之类的

非必须关闭吧。uboot的目的就是引导内核启动,而且uboot启动的话只是把需要的打开了,其他非必须的都可以关闭。当然也可以打开。DCACHE之类的必须要关闭,因为SDRAM没有初始化,可能会取到错误的数据。

bin文件和elf文件区别

不清楚。后来在自己总结的面试知识点中增加了这个内容。

什么时候用哈希?哈希冲突如何解决?

对时间要求比较高,对占用内存空间大小要求不高。开放地址法,再哈希法。

二面(45min,9.23)

项目原理的介绍

写博客的目的

之前也考虑过这个问题,当时说了4点。1.随笔的形式,方便自己回顾。2.好的学习习惯 3.认识了很多业内前辈。4.习惯之后,坚持每周输出。

看你写了很多奖项,好多是校级的,有其他的吗?

有一个国家级的,研电赛全国三等奖。

项目难点

巴拉巴拉。

还有各种针对本人的问题,总之就是压力面,一直否定你这个人

你简历上写了这么多奖学金,你觉得你是你们周围最优秀的吗?为什么?你和别人差在哪?为什么本科毕业不直接参加工作?为什么考研?本科期间都做了哪些事情了?有什么收获?你觉得你是最努力的吗?以前是不是没有努力?为什么在看C primer plus?是基础不好吗?等等这类的问题。(这种问题沉着冷静的如实回答就可以。不要让面试官觉得你人有问题)

三面(30min,9.23)

印象最深刻的人

自我介绍

介绍项目

最成功的项目

项目难点

如何克服和学习项目的难点

如果一笔订单需要你的上级审核,但是上级很忙,你会怎么办?

如果这个客户是和我们第一次交易并且时间又很紧急,那么可以考虑找上上一级领导。如果这个客户已经和我们有过多次交易并且上级领导实在没时间,那么我也可以审核。

复盘;反思了下,这里其实不该回答“自己也可以审核“这些话的。一般来讲,公司肯定有应对措施的。按照公司的流程走就好了。

总结

9.25发来Offer,国庆节后给答复。公司是在长沙,做显卡的,主要客户是部队。不是很想去,国庆节后上班第一天就给了景嘉微答复说不去。

全志科技(9.15)
一面(20min,9.23)

项目简单介绍

进程和线程区别

问了很多遍了。

编程题:指针函数,函数的参数为int,返回值为字符指针

char \*((\*p)(int))

   
   
   
   
  • 1

宏定义求最大数

​ #define  MAX(a,b) (a)>(b)?a:b

   
   
   
   
  • 1

uboot启动流程

问了很多遍了。

二面(40min,9.26)

一个酒店,和研发部总经理聊了聊受益匪浅。

为什么写博客?

之前也考虑过这个问题,当时说了4点。1.随笔的形式,方便自己回顾。2.好的学习习惯 。3.认识了很多业内前辈。4.习惯之后,坚持每周输出。

项目原理,五分钟给我讲明白

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

边画图边讲。

为什么学Linux?用的什么开发板?啥时候买的?多少钱买的?自学的吗?有人引导吗?学了多久?

周围搞Linux的多不多?

操作系统会吗?计算机组成原理了解多少?

了解一点,没有时间去完整的看。

为什么没有时间完整的看?

白天忙导师安排的事情,还要写论文,改论文,写专利等等,晚上才有时间学习一些内容。当时紧接着又说虽然没时间完整的看,但是操作系统说基本的概念还是都理解的。

说下MMU。什么是MMU?为什么需要MMU?来龙去脉讲清楚

大概讲的是这个里面的一些内容:

S3C2410 MMU(存储器管理单元)详述
  物理地址到虚拟地址的映射,为了跑大型程序,操作更多的地址

是虚拟地址到物理地址的映射,你搞反了。

紧接着又说,我最看重的是操作系统和计算机组成原理的掌握程度,这些都是嵌入式的基础中的基础。

这些都是放在我计划之中,不过我目前在看源码的框架。

先不要看源码,不懂操作系统和计算机组成原理,看源码会累死。我们之前一个项目要修改内核中的关于调度的程序,我研究进程调度这部分,研究了两周多才修改完。所以,有时间还是补下计算机基础。源码的内容别急着看。

面试官确实很厉害。也和自己说了很多。所以接下来调整下战略思路,先看操作系统和计算机组成原理

在校期间,就要把基础打牢,好好看书。

之前面试其他公司,面试官问的关于操作系统的一些内容能答上来,这里我有点膨胀了,居然和面试官说操作系统的基本概念都理解。一下就被面试官问倒了。所以,如果不是特别熟悉,不要和面试官说我精通XXX之类的话,否则,肯定会被面试官问到不会为止。吸取教训!

HR面(20min 9.26)

最后去另一个房间和HR聊了聊待遇和薪资,待遇一般,而且工资组成里面还有20%的绩效,上下浮动。不打算去。而且,因为之前全志也闹过裁员风波,所以试探性问了下HR试用期会裁多少人?HR回答的是我们并不规定具体的指标。我接着又补充说到,那么我是否可以理解为没有上限也没有下限呢?HR说是的。所以,直接拒了。

和HR聊完了,顺便问了下面试官的名字,HR说这是他们XX部门的研发总监。和这个面试官聊天,确实学到了很多,受益匪浅!

小米(9.15)
一面(40min,9.21)

自我介绍

首先是自我介绍,本来准备的是三分钟的自我介绍,但是中途被面试官打断了,说面试时间有限,简短一点,要不后面没有时间写代码了。就介绍了下自己写博客的事情。接着面试官也很直接,上来就基础知识开始问。

进程和线程的区别

答对了。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,它是系统进行资源分配和调度的一个独立单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、IO设备等,然后该进程被放入到进程的就绪队列,进程调度程序选中它,为它分配CPU及其他相关资源,该进程就被运行起来。

线程是进程的一个实体,是CPU调度和分配的基本单位,线程自己基本上不拥有系统资源,只拥有一些在运行中必不可少的资源(如程序计数器、一组寄存器和栈),但是,它可以与同属一个进程的其他的线程共享进程所拥有的全部资源

在没有实现线程的操作系统中,进程既是资源分配的基本单位,又是调度的基本单位,它是系统中并发执行的单元。而在实现了线程的操作系统中,进程是资源分配的基本单位而线程是调度的基本单位,是系统中并发执行的单元。

不全。面试官又提醒了。进程间通信方式有那些,也回答上了。管道,FIFO,信号,信号量,消息队列,共享内存(最快),套接字。

僵尸进程听过吗

没有。

static 和 volatile

答对了。

static主要是改变函数和变量的作用域。volatile防止对寄存器进行优化,使得每条指令都要按照我们写的进行运行

两个Linux操作系统之间使用什么命令进行文件的传递?

我不知道是什么命令,但是我可以说下我的想法,我觉得利用HTTPS协议可以进行传输。

不是命令,这是协议。

数据结构学过吗?说下你知道的排序算法?

在校没有学过,但是我自己私下学过。排序算法:快排,选择排序,冒泡排序,插入排序,堆排序。

说下快排的过程,快排的时间复杂度

巴拉巴拉,也答对了。

手撕代码

反转字符串中的单词 I am a teacher -> rehcaet a ma I

很基础的问题,A了出来。

最后反问

什么时候有结果?

不确定,一周以后吧。

总结

有好多基础知识没打上来。主要集中在操作系统相关的概念上。确实不知道,接下来要好好补充了!

二面 (50min,9.25)

项目问的很细

20min,原理和流程图

typedef和 define有什么区别

1.typedef在编译时处理,具有类型检查的功能;define在预编译时展开,不会进行错误的检查,只是字符的替换。2.define没有作用域的限制,typedef有自己的作用域。3.typedef定义指针的别名时,别名可以连续定义两个指针变量。define定义指针的别名时,使用这个别名连续定义两个指针变量会报错。

数组下标可以为负数吗

没见过,应该可以吧。

不能用 sizeof()函数,如何判断操作系统是16位,还是32位

16位系统中,int变量的范围-32768到+32767,32767+1变为-32768。可以利用这个特性来判断。

IIC如何发送一个数据?IIC时序图画下。IIC芯片有哪些?

回答的还可以。

用户栈和内核栈是同一个区域吗?有什么区别?

不是。用户栈和内核栈是两个独立的区域。内核栈保存的是内核态程序运行的时候相关寄存器信息,用户栈保存的是用户态的内容。

用户空间和内核空间的通信方式?

1.API函数,Copy_from_user,get_user等。2.proc文件系统 3.mmap系统调用 4.使用文件

中断的响应执行流程?听过顶半部和底半部吗?讲讲

cpu接受中断->保存中断上下文跳转到中断处理历程->执行中断上半部->执行中断下半部->恢复中断上下文。

顶半部执行一般都是比较紧急的任务,比如清中断。下半部执行的是一些不太紧急的任务,可以节省中断处理的时间。

写过那些驱动?讲下LCD驱动如何编写?

巴拉巴拉,问了很多遍了。

手撕代码

给定一个数组,找出和为s的数字。二分查找,A了。

反问

如果有幸进公司,主要负责那些方面?

IO驱动,音视频驱动,内核的优化移植都有。看个人兴趣和过往经历的匹配程度。

多久出结果呢?

月底前应该会给

三面(10min,10.15)

家庭情况

期望薪资

有没有女朋友?工作地点是北京还是深圳?

北京。

总结

发下offer已经是10.20号了,太晚了,三方早已经寄走了,综合考虑,感觉性价比不是很高。如果冲着小米的平台去,确实还不错。其实心里有点小后悔。不过也就这样了,注定与小米无缘。

中国长城科技集团(9.15)

项目

15min。

你知道的Linux指令有那些

ls,ps,rm,cat,mv。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

中断的响应执行流程?听过顶半部和底半部吗?讲讲

cpu接受中断->保存中断上下文跳转到中断处理历程->执行中断上半部->执行中断下半部->恢复中断上下文。

顶半部执行一般都是比较紧急的任务,比如清中断。下半部执行的是一些不太紧急的任务,可以节省中断处理的时间。

写过那些驱动?讲下LCD驱动如何编写?

巴拉巴拉,问了很多遍了。

手撕代码

给定一个数组,找出和为s的数字。二分查找,A了。

反问

如果有幸进公司,主要负责那些方面?

IO驱动,音视频驱动,内核的优化移植都有。看个人兴趣和过往经历的匹配程度。

多久出结果呢?

月底前应该会给

三面(10min,10.15)

家庭情况

期望薪资

有没有女朋友?工作地点是北京还是深圳?

北京。

总结

发下offer已经是10.20号了,太晚了,三方早已经寄走了,综合考虑,感觉性价比不是很高。如果冲着小米的平台去,确实还不错。其实心里有点小后悔。不过也就这样了,注定与小米无缘。

中国长城科技集团(9.15)

项目

15min。

你知道的Linux指令有那些

ls,ps,rm,cat,mv。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-6hj001ak-1715841729498)]

[外链图片转存中…(img-RttOqIc9-1715841729499)]

[外链图片转存中…(img-FC6DpauV-1715841729499)]

[外链图片转存中…(img-zvgl1V7e-1715841729500)]

[外链图片转存中…(img-L9564UfV-1715841729501)]

[外链图片转存中…(img-jYFP17eZ-1715841729502)]

[外链图片转存中…(img-eyaavhMC-1715841729502)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值