2023阿里嵌入式软开暑期实习三面面经

岗位:阿里集团-平头哥-并行计算软件组-嵌入式软件开发工程师
这次来了个感觉是大佬的面试官,一开始迟到了还要hr去呼叫,叫了之后他说找个地方又等了2分钟,然后面试全程各种我听不懂的英文专业名词,很多问题我都不清楚他要问什么,搞得我很尴尬。。。
Part1 问项目:自我介绍,问Linux驱动的一些理解,我说接触比较少,然后问回我比较熟悉的FreeRTOS上,但是问了一些RTOS底层的理解,我说更关注使用和应用层的东西,让我举例说明无人机添加新模块时怎么考虑,然后还问编译链接这些的问题。(原谅我很多问题都没搞懂他想问什么,只记得这些了)
反问环节:驱动方面对于MCU驱动、FreeRTOS的、以及Linux驱动没有硬性的区分,看你哪方面表现好;实习生可能无法直接接触核心业务或技术,而是要做虚拟项目,这个虚拟项目可能是某个看好的方向之类的,实习的最后要答辩,答辩好的话可能有对秋招有利的直通车。
总结:总时长30min,面试官满嘴跑火车,一堆专业名词,好多问题答不上来或者根本就没听懂,只能拼命往自己熟悉的东西上靠,感觉要凉(悲
//当然,面试官人还是很nice的,我听不懂反问时会耐心解释
全部评论
段位差距太大
3 回复 分享
发布于 2023-05-08 17:32 广东
大佬hr面了吗
1 回复 分享
发布于 2023-05-18 20:48 新加坡
佬太强了
1 回复 分享
发布于 2023-05-10 20:40 广东
大佬有后续吗?
点赞 回复 分享
发布于 2023-05-22 20:00 湖北
嵌入式问了什么,没有问C++吗?
点赞 回复 分享
发布于 2023-05-09 11:09 浙江
三面之后拿到offer了?
点赞 回复 分享
发布于 2023-05-09 10:54 江苏

相关推荐

小鹏汽车-c++ 自动驾驶岗位的面试(jd在最后)(原本会议45min,干到了70min+)0.15min分钟的手撕代码deleteDuplicates(ListNode* head),删除所有重复数字的节点问下复杂度是多少-n^2?如何降下来复杂度?(用c有点蒙蔽,他提了下c++容器,恍然-set和map是可以的自动排序的,可以降低,很尴尬用c为主c++为辅)1.敲打简历。做了哪些工作?问是代码框架是怎么样的?(实话实话)问问是如何实现消息队列的?(尴尬,用的现成的ucos接口)换了一个问题,用来什么技术栈(我常用c的,对这个表示陌生。我说我描述下是如何实现的吧)2.内核裁剪是这么做的?(大致说了些,根据内核打印,移除一些模块驱动。精简网络-比如去掉一些ssh,把一些服务往后移动)3.linux的文件系统说一下,说一下底层原理?比如yaffs的这个管理吧?(我说我用他们多一点,比如用过哪些类型的fs,这个底层确实接触的不多。有点慌....,不知道怎么回答)4.调用read函数读取数据,到得到数据,中间过程发生了什么?(说了个大概:应用层调用read,引发一个系统调用,cpu从用户模式切换到内核模式,想要参数将会传递给内核内核会调用参数进行验证内核验证通过会找到对应文件结构体(file文件)进行查找和定位,通过file文件可以找到节点inode,闪传驱动读取数据和ecc校验数据接下里就是数据从内核到用户空间的复制,返回用户空间?)5.用什么方案去实现状态机机制(我说了下:通过状态机标志位+轮询方式)6.说下linux内核的内存管理,他们是怎么管理的?为何要引入虚拟我提到了进程隔离(内存空间的隔离),访问权限的控制,图片物理内存显示,实现内存扩展给开发提供了一个同一的、连续的地址空间,我们不需要关注物理内存的布局和碎片,检查程序开发和内存管理7.GDB常用哪些指令?如何用GDB调试查找死锁问题?我讲了lrbsqdp(提前速记了:冷若冰霜驱动盘)这个几个指令的使用l-list显示10行代码,r-run运行代码,b-break设置断点,s-step单步运行,q-quit推出,d-del删除断点,p-print打印变量。如何查找:结合top和ps。通过info threads打印出所有线程的信息,包括id和状态通过thread id 切换到某一个线程进行栈回溯,了解栈在做什么然后用print打印锁信息,查看依赖关系和锁状态8.智能指针有哪些,哪些使用场景?三种unique_ptr,shared_ptr,weak_ptr场景:第一个是希望对资源拥有唯一所有权的时候用;第二个是希望多个指针共享同一块资源的所有权时,第三个主要时用于解决第二个可能产生的循环引用问题时用。9.拷贝构造函数的传入参数,如果不加引用符号会怎么样?会导致无线递归,最后引发栈溢出10.多态是怎么实现的?主要是通过虚函数和指针来实现的。讲了有编译多态和运行时动态多态(主要讲一下运行多态?)主要讲了虚函数表和虚函数指针的逻辑11.出了这个虚函数,还有通过哪些方式实现这个动态多态的过程呢?function,bind,策略模式。知道,但是记得不多了。12.反问阶段.日常用的,主要是用c为主,c++为辅总体感觉:给自己打个7分吧,听天由命等通知。。---------------------------------------------------------------------------职位描述自动驾驶软件开发高级/资深工程师/专家(Linux/C++方向)岗位职责:1、负责自动驾驶相关的新产品软件设计和开发;2、负责自动驾驶相关的应用和算法软件在新软硬件平台上/新车型上的移植和调优;3、与各相关团队协作,共同完成自动驾驶产品工程化落地,负责分析和解决遇到的相关软硬件问题;4、负责现有平台/车型的迭代开发维护。岗位要求:1、本科及以上学历,计算机/软件专业,至少3年以上软件开发经验;2、熟练使用现代C++语言开发(C++11及其以上),熟悉STL并了解其实现原理,能进行多线程编程、网络编程、通信中间件开发;3、熟悉Linux/QNX,并具备在其上的工程构建、开发、问题定位及解决能力;4、责任心强,具备优秀的学习能力、独立分析问题和良好的团队沟通协作能力;5、有基于嵌入式平台的大型应用软件开发经验优先,有自动驾驶产品开发和落地经验优先。
点赞 评论 收藏
分享
评论
8
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务