Rahery level
获赞
69
粉丝
38
关注
5
看过 TA
477
四川大学
2026
嵌入式软件工程师
IP属地:广东
暂未填写个人简介
私信
关注
卓驭就是以前的大疆车载事业部,后来拆分出去成独立的子公司了。我去年十一月的时候Boss上联系过卓驭的HR,结果让我投,交过去就什么反应都没有了。这次实习一开我就投了,投了底软开发和中间件开发。周三下午HR突然打电话来说看了简历觉得我和中间件岗位很合适,让我准备一下周四的面试,并且告诉我这个岗位只有一轮面试,过了就能去上班。(bg双偏上9,喜欢嵌入式和底软,其他的在我其他面经里面也能找到。)于是周四早上十点半我就等在那里了,面试官看上去比较友好,没有迟到。1.简单自我介绍,那我就简单说了说我的学历,以及我的项目。2.看到我简历上有实习经验(其实是我导师的公司,横向做过两个项目开发),问了问我具体在这两个项目中的作用,我就稍微解释了一下我在实验室做的一些东西。3.C++八股,首先问了一下内存管理相关的东西。然后智能指针,问我shared_ptr可能存在的坑(那当然就是之前说过的要用make_shared来新建智能指针)。然后再问了问进程IPC,那当然还是那六个经典进程。4.我看过MISRA-C,问我有哪些现在经常乱用但其实不规范的事情,我首先说了个i++和++i。然后他让我再举个例子,我就举了Linux-C规范里宏函数的事情,在MISRA-C里面尽量用inline代替。到这里其实就感觉他已经问完了(说实话这也是我立刻觉得很不对劲的地方),接下来的就是聊天+HR面的感觉。5.问我在导师公司里做的东西的难点有哪些,我稍微解释了一下调参的事情。6.问我压力比较大的时候怎么排解。7.问我怎样快速融入一个陌生的工作环境。8.问我觉得公司和学校开发的区别有什么。9.解释了一下卓驭做的东西。后面是反问环节,我就问了一下嵌入式中间件主要做什么。他说嵌入式底层软件是直接和硬件打交道,处理数据,然后交给嵌入式中间件来进行处理,处理完毕之后再交给上层的应用层软件,类似一个配接器的感觉。面试体感还行,但是怪怪的,30分钟就像有20分钟的HR面。——————————————————————————————————————3.28今天HR给我打了电话,相当于是口头offer,让我在周一前给一个答复。我开始其实很纠结去了会不会并不是我喜欢的,以及到底能学到多少东西。结果越查越不对劲,中间件确实如那位面试官所说的那样是中间数据处理,但是卓驭的嵌入式中间件实习生不是——从官网和其他实习生的信息得知,这家公司的中间件实习生实际上更多做的是QA测试和写文档。虽然我是不求实习生能接触核心业务,但是如果去了之后只能写文档的话,我觉得我有点不太能接受。。。可能周一再问问HR确认一下,如果去了真是做测试和文档,那我可能就拒了比较好。
查看10道真题和解析
0 点赞 评论 收藏
分享
4.7 VIVO二面好像是HR面,总之来了一位面试官,一看就是行政而不是技术的,但是她说这是“专业面试”,那就专业吧。首先自我介绍,然后问我一些项目上的问题,包括如何实现,遇到了什么难题,自己的项目的优势有哪些,我说的优势点有没有什么数据可以证明等。然后让我评价自己,说一下自己的优点和缺点。问我是哪里人,问我base哪里。再问如果真的有来VIVO实习的机会,我的目标是怎么样的。然后反问。非常标准的HR面,没什么特别的,接下来应该就是泡池子了。————————————————————————————————————你好,又是我,不过这次我应该不是最早面的。我是双偏上9,本科不是计算机,研究生学计算机,对操作系统和嵌入式比较感兴趣。周一收到的VIVO面试邮件,约的四点钟,面试半个小时(实际上只面了二十分钟,害怕)。有两个项目,一个是嵌入式的SEG氢气检测项目,另一个是手搓操作系统的项目。四点钟进会议,面试官迟了大概两分钟的样子,然后直接让我介绍自己。我简单介绍了一下我的SEG和操作系统,于是他就问了一些问题。1.(我手搓的)操作系统是单处理器还是多处理器,我说是单处理器,因为更多的是要实现一些功能。2.问我懂不懂线程,比如线程间通信,或者互斥之类的。我就聊到了锁,互斥锁Mutex,自旋锁Spinlock,读写锁rw,RCU锁,并每个都说明了一下作用。3.问我自旋锁使用的优势(我理解错他想表达的意思了),我说在用户态可以使用。他和我详细的讲了自旋锁应该是个什么样的使用流程,内核态也可以使用自选锁。4.然后是聊到我项目里遇到的一些问题,我还是回答的是debug,我自己使用print和删除重编译的方法,以及我不会用的gdb方法。他说实际上正式开发很少用,一个是很多开发是多线程,逐步debug不现实。另一个是他们会用coredump的方法来完成,然后在模拟器上还原场景等。5.然后问我性能优化的问题,但是我自己的操作系统本身没有什么很严重的性能优化,毕竟是个简单的手搓项目。他说他们那边是做内核,主要是性能优化的。然后问我SEG有没有,我就说了delay方法避免每步都执行某一个条件(比如获取温度)。6.然后问我Linux内核的一些调度方法,说理论的就行。我就说了先入先出、短进程优先、最短时间优先等,接着就问我我自己是实现的什么,我说我实现的比较简单的rr。7.问我知不知道优先级反转,怎么解决。我说优先级反转就是低优先级拿了临界资源,中优先级抢占(这个没问题),但是此时有个高优先级进程也要临界资源,但是低优先级进程没执行完,所以表现出来就是中优先级执行->低优先级执行->高优先级执行。解决方法是优先级继承和优先级天花板。然后就问我有没有什么想问的。我问的依然是vivo对这个岗位,想要什么样的实习生,他和我说了很多,大致也就是说看能力,但不是说一进来什么都做的那种,有导师带blabla。然后说如果有后续hr会联系我。面试体感一般,主要是太像聊天了,基本没有八股也没有手撕,就是随便问问然后解答,我感觉可能会挂,唉。
查看27道真题和解析
0 点赞 评论 收藏
分享
3.29早上刷新,已挂。意料之中,看别人的面试比我问的深,而且基本都答上来了,但我问的就很浅,而且很多东西回答的不好,希望各位顺利。但其实仔细想想确实有点奇怪,我本来是抱着游戏开发客户端去面的,两位在中间也和我说他们不懂客户端的内容,主要是服务端那边的,然后问我服务器同步、热更新之类的问题,难道网易是想招一个既懂服务端又懂客户端的人进来吗?——————————————————————————————————————看了一圈,好像又是没有比我更快的,那我先发了?昨天四点下午躺在按摩椅上的时候突然收到广州的电话,问我今天11点10分能不能面试,那我欣然接受,一个小时。本人双偏上9,本科不是计算机。内心里其实对游戏一直感兴趣,包括本科期间实际上有玩各种游戏&当过三个月的数值策划,因此秋招只投了四个游戏公司(腾子和米已经感谢信了),网易是目前唯一发面的。我自己有两个项目,都是粥的同人游戏,一个是类似王权的卡牌游戏,另一个是avg(或者也可以理解为galgame)。网易互娱笔试a了2.9道。面试官是11点进来的,两个面试官,一个看起来很和蔼,另一个有点阴沉没有表情。说如果准备好了那就开始,于是调整了一下设备就开始了。1.简单介绍一下自己,我介绍了一下我本科的游戏经历,主要是二游和端游(dota2)。他问我玩不玩yys,我说很早之前玩过,但是已经不玩了。2.让我开视频介绍一下我的avg,于是展示了完整的对话、背包、设置等。然后问了我一些关于项目的人员分配问题,以及存档是在本地还是云端,问我是否以后也要自己开公司做游戏之类的,我回答说我更想去公司系统性学习主要流程,对自己比较有认知。3.unity主要是C#,问我懂不懂其他语言,我说C和C++,然后就是Python也懂一些。然后就到了C++环节。4.问我构造函数能不能是虚函数,我说不能,要先调用构造函数才有虚函数表和虚函数指针,所以没法虚构造函数。5.问我那析构函数能不能是虚函数,我说能,虚的析构函数可以解决继承的问题,先析构子类的对象和子类本身,再调用父类的析构函数来完全释放。中间我答错了一个地方,他问我覆盖和重写(我答成了覆盖和隐藏了),我说的是子类和父类有一个同名函数,如果覆盖的话,调用子类的该方法就只会执行子类函数,用父类指针也只会执行子类函数。6.问我懂不懂C++内存相关,很杂,我说能否说的比较细一点,他说没关系,想到什么回答什么。于是我先从类的new/delete和c的malloc/free开始说,然后提到了四种智能指针。7.四种智能指针的区别?我说auto_ptr(已废弃),unique_ptr(独占某个资源),shared_ptr(共享某个资源),weak_ptr(弱引用计数,用来解决shared_ptr循环引用)。8.问我shared_ptr要用什么函数创建?这个我记得不太清了(后来查的时候发现我说对了,确实是make_shared),然后问我为什么推荐使用这个函数,而不是直接赋值?我没回答上来,可能是内存分配的问题。然后就到了操作系统环节。9.进程间通信一般有哪些方法?我说了六个,管道(有名、无名、流)、共享内存、信号、信号量、消息队列、套接字。这里他问了我一个问题,临界区是共享内存吗?能作为消息传递的方法吗?我说应该行,但是他说不太行,让我线下看看。10.问我那如果现在两个进程在不同的主机上通信,哪些方法不能用。我凭感觉觉得是只能用套接字,印象中别的都和内核关联。11.问我知不知道锁,简单介绍一下各种锁。我说有自旋锁、读写锁、mutex、RCU锁之类的。12.问我自旋锁怎么实现的,我说当进程要访问临界区的时候尝试获取锁,如果获取不了就一直while执行,直到能读取。13.问我自旋锁的优势和劣势,我说优势是比较简单(这个没答好),劣势是自旋锁会一直等待,因此很吃CPU资源,高并发的时候会占满CPU。他说优势不应该是简单,引导我说是因为自旋锁不会睡眠,可以一直在用户态。14.场景,假设现在有一个多线程环境,CPU全部占满,所有进程都在自旋等待,我该怎么做。我说第一个是减少并发,另一个是尝试用非自旋的锁来睡眠。面试官说假设你是调的api,锁都在api内部(即必须自旋),我说那我可能不太清楚。然后就到了手撕环节15.如何交换二叉树的子节点,我用递归做了一遍。他们问我能不能不用递归来做,并引导我用其他的想法来。我首先用层序+栈的方法做了一遍,但他们说层序也算递归。现在想想,或许他们是想让我用栈来模拟递归(脱裤子放*)?然后把我的项目又拿出来问。16.问我是怎么实现动画的,我说是DOTween来实现,简单介绍了一下DOT的原理和实际作用。17.首先是问我这个项目我遇到过什么问题,怎么找到+怎么解决的。我解释了一下我之前设置上的一个bug,通过帧率来检查出来,然后减少代码逐步排查。他问我有没有用过其他的unity debug工具,我说没有,用得比较多的就是ide的debug和unity的stat工具。18.另一个面试官开始问,首先问我Unity只能用C#吗?我说不是,可以用TypeScript,然后实际开发可以用Lua进行热更新。但是我只知道原理,自己当前项目比较小,都是直接安装包更新。19.问我对Monobehavior的了解,我简单介绍了一下生命周期,Awake(脚本实例调用),Start(每次调用实例时调用),Update(0.02s调用一次),FixedUpdate(插值计算帧来调用),LateUpdate(Update执行完毕后最后调用)。20.问我这个项目有多少资源,每次编译需要多久,我说大概1g不到,编译下来可能两三分钟。他说毕竟这是小项目,但如果是那种商业游戏,比如很大的项目,应该怎么优化。我先说了我朋友那边解决方法就是换好电脑,他们说这确实是个方法但是很大的时候也没辙。(但我说实话这个问题做项目的也答不上来,如果我能一个人做一个商业游戏体量,我应该也不会来投简历吧?不过我查了一下资料,说是可以把代码拆分开来,没动的不用编译。然后拆分成不同场景,每次只加载相应的场景。再加上把常用的稳定的一些代码转换成dll,就不需要每次动态编译了。)21.问我动态库和静态库的区别,这个没回答上来。后来查了一下,静态库是会被编译到程序内部去的,速度快,但是可能导致体量增加,且静态库修改就要全部重编译。而动态库相反。反问环节:1.我问你们对什么样的人才更感兴趣,比如某些公司想要进来的人什么都会。他说他们考察的比较全面(很太极),有些人可能没有项目就考察更多的知识架构,有项目就详细的深挖项目。2.我问游戏引擎用的unity还是ue,她说公司没有严格要求,主要其实是看项目组。3.你们是什么项目组的,他们说知道项目组没有意义,因为第一轮面试是跨组面,指不定就算进来了也不是这个组。总结一下,网易的面试情绪价值是拉满的,面的我很舒服,但是C++相关的东西我确实不太懂,项目一些比较深的实现我可能也回答的不太好。因此我感觉可能是凉了,呜呜。希望各位用得上我的(大概率)凉经。#牛客创作赏金赛##0offer互助地##网易#
查看29道真题和解析 牛客创作赏金赛 0offer互助地
0 点赞 评论 收藏
分享
4.8号更新(其实是4.2号看到挂的),已经挂了。基本上没怎么问项目,问了一些基本的Linux八股,比如调度有哪些。然后问了问我以前实习(老板公司)的项目,问我在里面最困难的是什么,学到的最珍贵的是什么等hr面的内容,第二天早上起来就挂了。虽然也理所当然,有朋友前一周就HR面+OC了,这个岗位本来就少(据说是成都2+深圳3?),我在下一周才二面,就这么说服自己好了————————————————————————————————————3.27更新,OPPO发二面通知了,下周二————————————————————————————————————看了一圈好像没看到比我更快的,我自己也觉得快。我今天下午五点回学校的路上突然接到HR的电话,问我能不能今晚七点半面试,我想想觉得面就面吧,就接了。本人双偏上9,但是本科不是计算机的。研究生对操作系统和嵌入式都感兴趣,因此做的一个手搓操作系统的项目,一个是C51检测氢气和温度的项目。面试官看起来人还不错,说话比较好听。1.自我介绍,我稍微说了一下我的bg和爱好,他小声说了一下我本科(我本科不是计算机),问我既然本科不是计算机的,有没有学过计算机的一些基本的书籍,我说有(确实有)。2.问我对哪些语言比较熟悉,我说我C、C++都比较熟悉,实验室横向也用Python比较多。于是这里开始问C语言的基本题目:3.问我i++和++i的区别,出了一道a = i++,a的值。4.问我数组和链表的区别,我回答主要是连续内存分配上。他问我那什么时候用数组什么时候用链表,我说如果要求连续分配(比如随机访问)用数组。5.问我栈和队列的区别,我说先进后出和先进先出(这里有点乌龙,我嘴快说反了,然后纠正),接着问我用栈来实现队列,我提出的是双栈方法。6.然后问我操作系统进程和线程的区别,我说简单来说就是进程是资源分配最小单位,线程是执行调度最小单位,线程会共享进程的资源,然后也有自己的独立的栈用来保存局部变量函数调用之类的。7.问我现在有一个进程里面有一个变量a,有两个线程分别对这个a++(执行100次),最后的结果是多少。我说大概是200,因为量比较少,可能不会有很明显的竞态。如果量很大(比如10w次)且不上锁,得到的结果就小于20w。操作系统到这里结束,然后就是拷打项目。8.首先问我觉得哪个项目最能体现自己的能力,能说服他让我通过面试,我说那就问我操作系统的项目吧。但是因为问的太杂,我没回答到他的点子上。于是他换了个问题,问我这个操作系统项目最难的是什么,我说是debug,因为本身不是用户态软件可以用断点来debug,因此遇到问题就只能逐行删除编译,或者print方法。我也补充应该还有dbg方法可以用(但是我自己确实连不上)9.问我中断,问我怎么实现的中断。我说是先写stvec,把中断代码入口放进去。有中断的时候就进入这个入口,然后把重要寄存器sepc、sstatus和x0-x31之类的保存,然后调用实际的中断句柄,用scause里的值来判断是哪种中断。我以syscall为例解释了一下整个流程。10.让我解释一下我这个操作系统的定时器中断下,两个进程之间的上下文切换。我说将cpu的需要保存的信息(如sepc、sp、tx)之类的保存到自己的内核栈里面去,然后将下一个进程的内核栈中保存的这些数据还原到cpu内,这样就完成了上下文切换。11.问我怎么实现的虚拟地址到实地址的转换,我解释了一下我自己实现的riscv的rv39机制。反问:我问他OPPO这个岗位更看重的是什么?他的回答是这个岗位看中的是实习生的潜力,他们都把实习生当成一张白纸,如果有潜力,进去之后再培养。毕竟是实习生又不是社招(类似的话)。总的来说今天的面试我有点忐忑, 因为面的实在是太基础了,我以为会问我比较细节的嵌入式八股或者操作系统细节,结果C语言的问题给我把脑子干懵了。目前还是已完成面试,先放一个害怕在这,怕kpi更怕一眼觉得不行水时长#0offer互助地##投递几十家公司,到现在0offer,大家都一样吗##投递几十家公司,到现在0offer,大家都一样吗#。
DaemonChen:我昨天底软二面过了,约的周五HR面,好奇面试官是怎么耐心的听完你讲rcore的,我也是这个项目,面试官直接说rcore和xv6都是toy项目,企业里用不到,一面时无数次打断我,二面的时候我就吸取教训只说Linux下的实现了,感觉讲rcore面试官听不懂也不愿意听,只能拿来当跳板去讲Linux。
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务