面试真题 | 蔚来嵌入式一二三面面经

@[toc]

一面

static作用,局部static和全局static区别

在C或C++编程语言中,static关键字有几个不同的作用,具体取决于它被使用的环境。以下是static的一些常见用法和它们的区别:

  1. 局部静态变量

    • static关键字用于一个局部变量(通常是函数内的变量),它改变了该变量的存储期为整个程序的生命周期,而不是函数调用的局部作用域。这意味着变量在函数调用结束后不会消失,其值会保留到下一次函数调用。
    • 局部静态变量在首次创建时会被初始化,并且只会初始化一次。
  2. 全局静态变量

    • 全局静态变量是指在函数外部定义的静态变量。这种变量的生命周期同样是整个程序的运行期,但与局部静态变量不同,全局静态变量的作用域仅限于定义它的文件内部。也就是说,它们在其他文件中是不可见的,具有内部链接。
    • 这可以用于模块化编程,防止不同模块间的全局变量名冲突。
  3. 静态函数

    • static关键字用于函数定义时,它限制了该函数的作用域,使其只能在定义它的文件内部被调用。这同样有助于避免不同文件中的函数名冲突,并且有助于模块化设计。

总结区别:

  • 作用域:局部静态变量在函数内部,全局静态变量在文件内部。
  • 生命周期:两者都是静态存储期,即整个程序运行期间。
  • 初始化:局部静态变量和全局静态变量都只会被初始化一次。
  • 可见性:局部静态变量仅在函数内部可见,全局静态变量仅在定义它的文件内部可见。

面试官可能会询问这个问题来评估你对C/C++中变量和函数作用域、生命周期以及链接的理解。

TCP三次握手

Linux虚拟内存

想象一下,我们的计算机内存(RAM)就像是一个书架,而书架上的空间是有限的。但是,你有很多书(程序和数据)需要存放。虚拟内存就像是你家里的其他空间,比如地板、桌子或者墙壁,你可以把书放在这些地方,然后在需要的时候再把它们放回书架上。

在Linux系统中,虚拟内存是这样工作的:

  • 页表:这就像是一个目录,告诉你每本书(数据)应该放在哪里。每个程序都有自己的目录,这样它们就不会混淆。

  • 分页:操作系统把内存分成很多小块,每一块就像是一个小型书架,可以单独管理。

  • 交换空间:当书架上没有足够的空间时,你可以把一些不常用的书放到其他地方,比如地下室(磁盘空间)。这就是交换空间。

  • 需求分页:只有在你需要阅读某本书时,操作系统才会把它从地下室拿上来。这样可以节省书架上的空间。

  • 写时复制:如果有两本书看起来一样,但是你知道其中一本很快就会被修改,操作系统会等到修改发生时才复制这本书,这样可以节省空间。

  • 内存映射:这就像是把书架直接连接到你的图书馆,这样你就可以直接从图书馆读取书籍,而不需要把它们搬到书架上。

  • 透明大页:有时候,一本书很大,需要占用很多小型书架。操作系统可以使用更大的书架来存放这些大书,这样可以减少书架的数量。

  • 内存回收:如果书架上的空间不够了,操作系统会检查哪些书不常用,然后把它们放回地下室,为其他书腾出空间。

  • 内核同页合并:如果发现两本书的内容是一样的,操作系统会把它们合并成一本书,这样就可以节省书架上的空间。

指针引用区别

区别:

1.指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元,即指针是一个实体;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。

2.有const指针,但是没有const引用。

3.指针可以有多级,但是引用只能是一级(int** p;合法,而int&& a;不合法)。

4.指针的值可以为空,但是引用的值不可以,并且引用在定义的时候必须初始化。

5.指针的值在初始化后可以改变,即指向其它的存储单元,而引用在初始化后就不会再改变了,从一而终。

6.sizeof引用得到的是所指向的变量(对象)的大小,而sizeof指针得到的是指针本身的大小。

7.指针和引用的自增++运算意义不一样。

相同点:

1.都可以对变量就行修改。

2.都是地址的概念,指针指向一块内存,它的内容是所指内存的地址,引用是某块内存的别名。

何时使用:

1.当考虑到存在不指向任何对象的可能,这时候应该使用指针。

2.当需要在能够在不同的时刻指向不同的对象,这个时候使用指针。如果总是指向一个对象并且一旦指向一个对象后就不会改变指向,那么应该使用引用。

3.当重载某个操作符时,应该使用引用。

C++内存分区

这个可以好好看看,大厂真的爱考。

new/delete和malloc/free区别

职业规划

面对嵌入式公众面试中关于职业规划的问题,一个全面而积极的回答可以展现你的目标导向性、对行业的热情以及对个人成长的规划。以下是一个参考回答,你可以根据自己的实际情况进行调整:

面试官您好,非常感谢有这个机会分享我的职业规划。在我看来,嵌入式系统作为连接物理世界与数字世界的桥梁,正日益成为推动技术创新和产业升级的关键力量。因此,我的职业规划紧密围绕着在嵌入式领域深耕细作,不断提升自己的专业技能与项目经验,力求成为该领域的专家型人才。

短期目标(1-3年)

  • 技术深化:首先,我计划通过深入学习嵌入式系统的基础理论,包括微控制器架构、嵌入式操作系统(如RTOS)、硬件接口与通信协议等,建立起坚实的技术基础。同时,积极参与实际项目,将理论知识应用于实践,通过解决具体问题来提升自己的问题分析与解决能力。
  • 技能拓展:除了技术深度,我也将注重技能广度的拓展,比如学习并掌握一些前沿技术,如物联网(IoT)、人工智能在嵌入式系统中的应用等,以适应行业发展的需求。
  • 建立网络:积极参与行业会议、技术论坛及开源项目,与同行交流学习,建立广泛的人脉网络,为未来的职业发展铺路。

中期目标(3-5年)

  • 专业定位:在积累了一定经验后,我希望能够找到自己最感兴趣且擅长的细分领域,比如汽车电子、医疗设备、智能家居等,进行更深入的研究和实践,逐步成为该领域的专家。
  • 项目管理:同时,我也期望能够承担更多项目管理的职责,学习并掌握项目管理的知识与方法,提升团队协作与项目管理能力,带领团队完成更具挑战性的项目。

长期目标(5年以上)

  • 领导与影响:在职业生涯的后期,我希望能有机会担任技术负责人或团队领导的角色,不仅要在技术上持续引领创新,还要在团队建设和人才培养方面发挥重要作用,为公司乃至整个行业培养更多优秀的嵌入式工程师。
  • 持续学习:技术日新月异,我将始终保持对新技术、新趋势的敏感度,通过不断学习来保持自己的竞争力,为行业的发展贡献自己的力量。

总之,我的职业规划是围绕嵌入式领域,通过不断学习与实践,逐步成长为一名技术精湛、视野开阔、具有领导力的专业人才。我相信,通过不懈的努力和持续的学习,我能够实现这些目标,并在嵌入式领域创造属于自己的价值。

为什么选择蔚来

选择来蔚来汽车做嵌入式工程师,可能基于多个方面的考虑,这些考虑因素涵盖了个人职业发展、技术兴趣、行业前景、企业文化以及工作内容的吸引力等。以下是一些可能的原因:

  1. 行业前景广阔:随着新能源汽车和智能网联汽车技术的快速发展,汽车行业正经历着前所未有的变革。蔚来汽车作为新能源汽车领域的领军企业之一,具有广阔的市场前景和无限的发展潜力。选择在这样的公司工作,能够参与到汽车行业的未来发展中,个人职业成长也将更加迅速。

  2. 技术领先与创新:蔚来汽车在新能源汽车、自动驾驶、智能互联等领域投入了大量研发资源,并取得了一系列重要成果。作为嵌入式工程师,你将有机会接触到最前沿的技术和解决方案,参与到创新产品的研发过程中,不断提升自己的技术水平和专业能力。

  3. 团队与企业文化:蔚来汽车注重团队建设和企业文化的营造,鼓励员工创新、协作和分享。在这样的工作环境中,你将能够与一群志同道合的伙伴共同奋斗,享受到团队合作的乐趣和成就感。同时,蔚来汽车也非常注重员工的个人发展和成长,提供丰富的培训资源和晋升机会,帮助你实现职业目标。

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

ARM/Linux嵌入式真题 文章被收录于专栏

让实战与真题助你offer满天飞!!! 每周更新!!! 励志做最全ARM/Linux嵌入式面试必考必会的题库。 励志讲清每一个知识点,找到每个问题最好的答案。 让你学懂,掌握,融会贯通。 因为技术知识工作中也会用到,所以踏实学习哦!!!

全部评论

相关推荐

记录一下蔚来流程嵌入式软件 base上海0805 投递0805 评估通过(这点值得表扬,最快的一家)笔试----------------------------------------------------------0814 一面 1h 没有自我介绍,直接项目拷打(所有项目都问了一遍,还问如何优化方案)八股:介绍一下freertos的任务管理、内存管理、中断管理再介绍一下linux的进程管理、内存管理、中断管理linux怎么管理文件了解什么文件系统freertos的优先级反转了解么如何解决优先级反转问题手撕 反转链表ACM模式继续八股什么是字符设备、块设备如何创建新的进程如何启动子进程服务端如何监听客户端服务端如何接收客户端请求服务端accept多个请求采用什么模型处理线程间的通信方式-----------------------------------------------------------0825 二面 50min又是没有自我介绍项目拷打各种八股-----------------------------------------------------------0914 三面 55min还是没有自我介绍项目拷打一点八股对蔚来的了解为什么选择蔚来应该是主管面----------------------------------------------------------1010 四面 15min最轻松的一面,HR面终于可以自我介绍了介绍项目的难点举个列子说明一下自己的个性特点对工作点的考虑目前的offer情况----------------------------------------------------------蔚来一开始流程挺快的,到后面就比较慢了,总的跨度超过两个月,前三面都偏向于技术面,强度不低,虽说蔚来不怎么招人,但还是求来个oc吧
点赞 评论 收藏
分享
9 100 评论
分享
牛客网
牛客企业服务