已注销 level
获赞
1281
粉丝
982
关注
2
看过 TA
4646
IP属地:北京
暂未填写个人简介
私信
关注
2024-08-28 07:58
1. 嵌入式系统的主要组成部分有哪些?2. 描述中断的工作原理。3. 什么是实时操作系统(RTOS)?4. 描述任务调度的不同策略(如抢占式和非抢占式)。5. 什么是死锁,如何避免死锁?6. 描述嵌入式系统的开发流程。7. 什么是嵌入式操作系统?列举几个常见的嵌入式操作系统。8. 什么是看门狗定时器(Watchdog Timer)?9. 描述如何进行嵌入式系统的调试。10. 什么是I2C通信协议?其特点是什么?11. 描述SPI通信协议的工作原理。12. 如何在嵌入式系统中实现低功耗设计?13. 什么是GPIO?如何配置GPIO?14. 描述ADC和DAC的工作原理。15. 什么是PWM?其应用场景有哪些?16. 描述UART的基本工作原理。17. 什么是RTOS中的消息队列?18. 描述FreeRTOS中的任务优先级。19. 什么是内存映射(Memory Mapping)?20. 描述嵌入式系统中的电源管理技术。21. 什么是Bootloader的作用?22. 描述如何实现任务间的同步。23. 什么是嵌入式系统中的外设驱动程序?24. 描述如何使用DMA进行数据传输。25. 什么是Flash存储器?其特点是什么?26. 如何进行固件升级?27. 描述嵌入式系统中常见的调试工具。28. 什么是RTOS中的信号量?29. 描述嵌入式系统中的错误处理机制。30. 什么是资源共享?如何在多线程中实现?31. 描述嵌入式系统的安全性问题。32. 如何进行嵌入式系统的性能优化?33. 什么是嵌入式Linux?其特点是什么?34. 描述如何进行嵌入式系统的测试。35. 什么是物联网(IoT)?嵌入式系统在物联网中的作用是什么?相关面经可以参考大佬的面经链接  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看35道真题和解析
0 点赞 评论 收藏
分享
2024-08-26 07:57
在职业发展的道路上,找到一份合适的工作至关重要。然而,并非所有的公司都是值得信赖的。在面试过程中,一些潜在的欺诈迹象可能会显露出来。以下是一些识别和避免这些公司的方法。1. 识别欺诈迹象1.1 模糊不清的职位描述如果职位描述过于模糊,没有具体的工作内容和职责,这可能是一个红旗。合法的公司通常会详细列出岗位要求和期望。1.2 缺乏公司信息一个合法的公司通常会在其网站上提供详细的公司历史、团队成员和业务信息。如果这些信息难以找到,或者网站设计显得不专业,需要提高警惕。1.3 过度的隐私要求如果公司在面试过程中要求你提供过多的个人或财务信息(如银行账号、社保号码等),这可能是欺诈行为的迹象。合法公司一般只会询问与工作相关的信息。1.4 不寻常的支付方式如果公司提出以现金或其他非传统方式支付薪水,而不是通过正规的银行转账,这可能是欺诈行为的表现。正规的公司会遵循合法的薪酬流程。1.5 压力销售如果面试官给你施加压力,要求你立即做出决定,而不是给你时间考虑,这可能是一个警告信号。合法的公司会尊重你的决定时间。2. 面试过程中的应对策略2.1 做好研究在面试前,对公司进行彻底的研究。查看其官方网站、社交媒体页面和在线评价,了解公司的声誉和文化。2.2 提问准备一些问题,询问公司的业务模式、公司文化、晋升机会等。这不仅能帮助你了解公司,也能展示你的兴趣和主动性。2.3 观察面试官注意面试官的行为和回答。如果他们回避问题或给出模糊的答案,或者对你的提问表现出不耐烦,这可能是一个红旗。2.4 信任直觉如果你感觉某些事情不对劲,不要忽视你的直觉。信任你的直觉,继续寻找其他机会,切勿急于求成。3. 避免欺诈的实用技巧3.1 检查公司注册信息在面试前,检查公司的注册信息,确保它是一个合法的实体。可以通过国家或地区的工商管理部门查询。3.2 了解行业标准了解你所在行业的薪资标准和工作条件,以识别任何异常的提议。如果薪资明显高于行业平均水平,可能需要谨慎对待。3.3 咨询专业人士如果你对某个公司有疑问,可以咨询职业顾问或在该行业工作的朋友,获取他们的意见和建议。3.4 记录面试过程记录面试过程中的关键信息,包括公司名称、面试官姓名、职位描述和薪资信息等,以备后续参考。4. 结语在寻找工作的过程中,保持警惕和批判性思维至关重要。通过仔细的准备和研究,你可以有效避免潜在的欺诈公司,并找到一个真正符合你职业目标的职位。记住,一个好的工作机会值得等待,不要因为急于就业而忽视了潜在的风险。保持清醒的头脑,做出明智的选择,才能在职业道路上走得更远。  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
2024-08-22 08:35
 自我介绍(介绍你的背景和教育经历,特别强调与嵌入式系统相关的学习和项目经验)1.Linux中的线程一般是怎么调度的?2.如果现在是一个单核的CPU,那么多个线程是按什么顺序去运行的?也就是线程的系统调度?3.如果现在多个线程,怎么确定哪一个会先被执行?4.能简单说一些你用过的STM32的一些芯片的配置吗?CPU主频,Flash和RAM分别都是多大的?5.你在STM32上都做过哪些开发?6.你开发过哪些驱动吗?7.你了解整个SPI的通信过程吗?SPI有几根线,分别是什么?你使用SPI的时候速率配置的是多少?8有使用过DMA吗?解释一下什么是DMA?9SPI有4种模式你知道是那4种模式吗?10你在开发调试过程中有遇到过哪些难以解决的问题可以分享一下吗?11 你有做过一些比较大型的软件开发吗?就是一些比较大的功能需要做一些设计、分层的东西。12中间层的设计你考虑了哪些因素?13 进程通信有使用过一些锁和同步的东西吗?14 多个进程在获取不到锁的时候会进入什么状态?15 假设一个低优先的进程A获取先到锁,高优先级的进程B获取不到锁,那高优先级进程B的进行也会阻塞吗?16 那如果还有一个任务C,优先级介于A和B之间,那么C任务会去抢占CPU资源吗?17 那这样导致B等待资源的时候会越来越长,这样的问题有方法可以解决吗?18 用什么方式提高A的优先级?19 那么A的优先级需要提高到多少?20 Linux是在用户态开发还是内核态开发?21 在用户态开发中程序跑飞,出现段错误等情况,你通过什么方式去定位?22 运行态的错误怎么调试?23知道程序分成那几个段吗?24堆和栈有什么区别?其他嵌入式面经问题参考专栏  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看24道真题和解析
0 点赞 评论 收藏
分享
2024-08-21 08:25
体面厂,笔试秋招做的第一个笔试,才复习了一两周,C/C++基础都没怎么看,答的很不好,后面看题还是比较简单的,简答题:static变量作用,和int *a, int(*a[10](int))之类的含义,编程题没有运行直接文本。一面感觉笔试不是很好,以为挂了,结果一个月后通知了面试。海康这次人特别多,流程很长,面试时看着面试官一脸疲惫。自我介绍,问下项目做什么,有跑操作系统吗。主要围绕项目,哪些是课上学的哪些是自学的,学习生活中有什么比较困难的时候吗(没什么,写论文的时候比较困难),觉得需要补足什么短板吗(操作系统,驱动开发),职业规划反问:部门(统一校招,随机分岗,人多流程长),业务(主要产品开发,安防等等)HR面又过了20天才通知二面,都要发三方了。介绍项目,课题来源,挑一个项目深入介绍。最近看什么书(面试,技术书);怎么应对压力;平常时间安排;职业规划,倾向(底层的,有难度的);觉得海康可以让你成为技术大牛吗?目标薪资,说海康可能会还低些;反问:随机分岗位吗,想做核心业务(导师带,半年基本学习,看情况分工作);二面后还以为无了,结果一个月后收到邮件参加签约会,两天内offer过期。工资太体面,还不如研究所进去后才分岗,还不知道分哪,最后拒了。后来听说海康劝退还是裁员?还好没去。相关面经可以参考大佬的面经链接  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
去有offer的地方:海康威视今年秋招不是还没开始吗?
查看2道真题和解析
0 点赞 评论 收藏
分享
2024-08-20 08:39
1. 中断怎么发生,中断处理流程2. Linux操作系统挂起、休眠、关机相关命令3. 数据库为什么要建立索引,以及索引的缺点4. CPU、内存、虚拟内存、磁盘/硬盘的关系5. CPU内部结构6. ARM结构处理器简析7. 波特率是什么,为什么双方波特率要相同8. ARM和DSP的区别9. ROM和RAM的概念10. IO口工作方式:上拉输入、下拉输入、推挽输出、开漏输出11. 扇区、块、页、簇的概念12. 处理器在读内存的过程中,CPU核、cache、MMU如何协同工作13. 总线接口USART、I2C、USB的异同点14. 异步串口和同步串口的区别15. FreeRTOS同优先级的任务创建的执行顺序16. FreeRTOS中任务调度的机制17. FreeRTOS中任务调度发生的时机18. FreeRTOS中非抢占非礼让模式下的任务执行情况19. 冒泡排序的思路及时间复杂度的计算20. 裸机开发实现软件定时器的方法21. IO口的模式及推挽输出和开漏输出的区别22. IIC协议的读时序23. 链表是否有二分查找,什么情况下使用二分查找24. DFS与BFS算法的解释25. 操作系统的基本功能与结构26. 进程与线程的区别27. 死锁的产生条件及解决方法28. 网络协议层次模型及其功能29. 数据库的ACID特性30. 计算机网络中的TCP与UDP的区别相关问题收录到专栏中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看30道真题和解析
0 点赞 评论 收藏
分享
2024-08-19 09:16
1. 进程和线程的基本概念是什么?2. 进程和线程之间有什么主要区别?3. 进程和线程的优缺点分别是什么?4. 什么时候选择使用进程,什么时候选择使用线程?5. 多进程和多线程的同步与通信方法有哪些?6. 进程的地址空间模型有哪些?7. 进程和线程的状态转换图是什么样的?什么情况下会阻塞和就绪?8. 父进程和子进程之间的关系和区别是什么?9. 什么是进程上下文和中断上下文?10. 一个进程可以创建多少线程?这个数量与什么有关?11. 并发、同步、异步、互斥、阻塞和非阻塞的定义是什么?12. 线程同步和互斥的具体实现方法有哪些?13. 线程同步与阻塞之间的关系是什么?同步一定阻塞吗?阻塞一定同步吗?14. 孤儿进程、僵尸进程和守护进程的概念是什么?15. 如何创建守护进程?16. 如何正确处理僵尸进程?17. C和C++之间的主要区别是什么?18. new和malloc的区别是什么?19. malloc的底层实现是怎样的?20. 在1G内存的计算机中能否malloc(1.2G)?为什么?21. 指针与引用的相同和区别是什么?如何相互转换?22. C语言检索内存情况的方式有哪些?内存分配的方式是什么?23. extern "C"的作用是什么?24. 头文件声明时加extern,而在定义时不要加的原因是什么?25. 函数参数压栈顺序是什么?关于__stdcall和__cdecl调用方式的理解是什么?26. 重写memcpy()函数需要注意哪些问题?27. 数组到底存放在哪里?28. struct和class的区别是什么?29. char和int之间的转换是怎样的?30. static的用法和定义是什么?31. const常量和#define的区别是什么?32. volatile的作用和用法是什么?33. 为什么没有引用常量?34. C/C++中变量的作用域是什么?35. C++中类型转换机制有哪些?dynamic_cast转换失败时会出现什么情况?  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看35道真题和解析
0 点赞 评论 收藏
分享
2024-08-15 08:35
1. 什么是RAII?2. 什么是类型推导(Type Deduction)?3. 解释一下const和constexpr的区别。4. 什么是Lambda表达式?5. 解释一下C++中的深拷贝和浅拷贝。6. 什么是智能指针?7. static关键字的作用是什么?8. 什么是模板(Template)?9. 解释一下C++中的多态。10. 什么是虚析构函数?为什么需要它?11. 什么是命名空间(Namespace)?12. C++中如何实现单例模式?13. 解释一下C++中的友元(friend)机制。14. 什么是析构函数?它的作用是什么?15. 什么是虚函数表(vtable)?16. C++中的类型转换有哪些?17. 什么是异常处理(Exception Handling)?18. 解释一下std::move的用法。19. C++中的命名规则有哪些?20. 什么是多重继承?它的优缺点是什么?21. C++中如何进行字符串的拼接?22. 解释一下C++中的函数重载。23. 什么是std::initializer_list?24. C++中的nullptr是什么?25. 解释一下C++中的引用(Reference)。26. 什么是内联函数(inline function)?27. C++中如何实现运算符重载?28. 什么是C++中的模板特化(Template Specialization)?29. 解释一下C++中的动态内存分配。30. 什么是std::function?31. 如何实现一个简单的自定义异常类?32. C++中的volatile关键字有什么作用?33. 什么是C++中的内存对齐(Memory Alignment)?34. 解释一下C++中的类型萃取(Type Traits)。35. C++中如何实现动态链接库(DLL)?相关答案和拓展在下方面经  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看3道真题和解析
0 点赞 评论 收藏
分享
2024-08-14 09:38
已编辑
1.芯片行业目前嵌入式薪资上涨的原因,我觉得很大一部分是芯片公司带起来的。特别是一些初创的GPU、AI、自动驾驶芯片公司,给得都比较高,当然老牌的一线大厂薪资也很可观。芯片行业是招嵌入式的大户,因为芯片从生产出来,需要写配套的固件、驱动等程序,这样才能形成软硬件生态,下游厂商才能够拿去就能够用或者进行二次开发。芯片行业薪资水平整体比较高,并且玩家多,跳槽也方便。代表性公司:(1)中国企业:海思、中兴微电子、联发科、紫光系列、兆易创新、长江存储、芯原微电子、哲库、平头哥、汇顶、地平线机器人、黑芝麻智能,寒武纪、摩尔线程、海光、兆芯、龙芯中科、安路、比特大陆等(2)外企:AMD、英伟达、ARM、NXP、MPS、Intel等2.人工智能相关行业(1)自动驾驶方向也算是目前嵌入式软件薪资给得比较高的行业之一,因为这个行业在国内发展时间不久,非常需要人才,需要高薪去吸引人才进入这个行业,并且自动驾驶企业融资一般也比较多,给得起钱。自动驾驶公司招嵌入式软件主要集中在中间件、操作系统开发和优化、车辆底层控制等方面。自动驾驶车辆本质上来说就是一个跑着各种算法的机械电子系统,所以它肯定需要嵌入式工程师。代表性的企业:小马智行、魔门塔、元戎启行、图森未来、文远知行等自动驾驶公司,百度,美团,京东等互联网公司,蔚来,理想,小鹏等新能源车企,比亚迪,吉利、长安等智能化比较好的传统车企,还有的话就是像华为、大疆这些公司也是在搞无人驾驶。(2)机器人方向机器人这个其实和自动驾驶也是有重叠的,比如自动驾驶车本身就是一个移动机器人,像视觉、雷达、控制、地图等自动驾驶和很多机器人方向都要招。机器人国内主要就是扫地机器人、搬运机器人、物流机器人、工业制造机器人、飞行机器人等,机器人行业嵌入式软件需求也比较多,比如Linux、ROS、RTOS、驱动开发等需求量都是挺大的。代表企业:大疆、高仙、科沃斯、普渡、星猿哲、美的、汇川、石头科技、海康机器人等3.消费电子行业消费电子比如手机,机顶盒,路由器,无人机、运动相机、安防设备等都是。这个行业必然是嵌入式招聘的大户,因为这些产品本质上就是个嵌入式系统,比如手机,跑的是系统是安卓,各种外设都需要写驱动,还要写相关应用程序。一般来说,这些企业招嵌入式软件基本是搞linux,rtos,裸机开发,各种协议开发这些方向。薪资主要看企业规模和产品的利润率,一般大公司,像华为、oppo、vivo、大疆等这些老牌一线厂商工资都还是比较可观的,其他的一些呢比上不足比下有余。代表性企业:华为,oppo,小米,vivo,荣耀等手机厂,大疆、影石、海康威视、大华、海信、TCL、联想等4.传统汽车行业传统汽车行业不像新能源汽车行业那么注重智能化,很多时候智能化靠其他厂商提供,并不自研,大多也是智能座舱和车机系统这种开发。当然嵌入式软件工程师还是要招的,比如车辆的整个电控系统、汽车电子、车机系统开发、智能座舱这些都是需要嵌入式的。传统车企一般来说给钱比较少一点,不如现在的蔚小理给钱多。(哔哔一句,我觉得汽车最重要的还是机械素质,智能化只能是锦上添花的东西)。代表性企业:吉利、长城、长安、奇瑞、广汽、东风、一汽等5.国企和军工国企军工呢主要就是一些研究所,比如像研究军用通信、雷达、飞机、兵器等,做这些东西必然是需要嵌入式开发的,不管是裸机开发还是操作系统需求量都比较大。薪资呢不算多,但优点是稳定,基本不会有啥裁员的情况。代表性企业:中国电子科技集团系列、航天科工系列、航天工业系列、中国兵器系列等,还有其他各种研究院、研究所都是这一类,还有像中兴、京东方、大唐、烽火等也都是国有企业。6.传统电子电器类这一类主要是家电、各种小电器、电子产品等。比如电视、冰箱、空调、洗衣机都是这一类产品。这些产品虽然可以用纯电路加机械就能实现,但是在现在智能化浪潮下,空调、冰箱这种越来越智能,所以对嵌入式软件工程师的需求也很大,而且现在的智能家具在蓬勃发展,相关的人才需求也越来越大。传统的这种电子电器行业薪资一般不高,但是需求量大。代表企业:美的、海尔、格力、TCL、海信等7.网络及通信设备主要是做网络以及通信设备,比如企业级的交换机、路由器、网络管理中心、小基站设备等等。这些产品很明显的也是一个嵌入式设备,比如一个路由器或者基站里面都会跑相关算法和控制程序等。代表企业:华为、新华三、锐捷、TP-link、腾达、迈普、思科、海格、爱瑞无线等  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
地平线_官方内推:哲库噶了,我们刚成立
华为成长空间 551人发布 投递吉利汽车分公司等公司8个岗位
0 点赞 评论 收藏
分享
2024-08-12 09:08
1. **单继承与多继承的虚函数表结构**     解释单继承和多继承情况下的虚函数表如何构成,给出示例代码。2. **C++ 程序编译过程**     描述 C++ 程序从源代码到可执行文件的整个编译过程,包括预处理、编译、链接等步骤。3. **C++ 内存管理**     讨论 C++ 中的内存管理,包括动态分配和释放内存的方式。4. **栈和堆的区别**     解释栈与堆的区别,何时使用栈,何时使用堆。5. **变量的区别**     比较局部变量、全局变量、静态变量与动态变量的区别。6. **全局变量定义在头文件中的问题**     讨论将全局变量定义在头文件中可能导致的问题。7. **内存对齐**     解释内存对齐的概念及其在结构体中的应用。8. **什么是内存泄漏**     定义内存泄漏,并说明它的影响。9. **如何防止内存泄漏?内存泄漏检测工具的原理**     讨论防止内存泄漏的方法,介绍几种内存泄漏检测工具及其原理。10. **智能指针的种类及实现原理**      介绍 C++ 中的智能指针(如 `unique_ptr`、`shared_ptr`、`weak_ptr`)及其实现原理。11. **智能指针应用举例**      提供智能指针的实际应用示例,说明其优缺点。12. **如何将 `unique_ptr` 赋值给另一个 `unique_ptr` 对象**      解释 `unique_ptr` 的移动语义,并给出代码示例。13. **使用智能指针可能出现的问题及解决方法**      讨论使用智能指针时可能遇到的问题,如循环引用,并提供解决方案。14. **在 Visual Studio 中检测内存泄漏的方法**      介绍 Visual Studio 中如何检测内存泄漏以及如何定位泄漏的代码位置。15. **深拷贝与浅拷贝**      解释深拷贝与浅拷贝的概念及其在 C++ 中的实现。16. **虚拟内存**      讨论虚拟内存的概念及其在操作系统中的作用。17. **语言对比**      比较 C++ 与其他编程语言(如 Java、Python)的异同点。18. **C++ 11 新特性**      列举 C++ 11 中的一些新特性,并简要说明它们的作用。19. **C 和 C++ 的区别**      讨论 C 语言与 C++ 语言之间的主要区别。20. **Python 和 C++ 的区别**      比较 Python 与 C++ 的语法、性能、内存管理等方面的不同。21. **面向对象**      解释面向对象编程的基本概念及其优势。22. **面向对象的三大特性**      详细说明封装、继承和多态这三大特性。23. **重载、重写、隐藏的区别**      解释这三者的定义及其使用场景。24. **如何理解 C++ 是面向对象编程**      讨论 C++ 中如何实现面向对象编程。25. **什么是多态?多态如何实现?**      定义多态,并说明在 C++ 中如何实现多态。26. **静态多态与动态多态**      比较静态多态与动态多态的区别及其实现方式。27. **类相关**      讨论 C++ 中类的定义、构造函数与析构函数的作用。28. **什么是虚函数?什么是纯虚函数?**      定义虚函数和纯虚函数,并解释其用途。29. **虚函数与纯虚函数的区别**      讨论虚函数和纯虚函数之间的主要区别。30. **虚函数的实现机制**      解释虚函数的实现机制,包括虚函数表及其在内存中的布局。相关问题收录到专栏中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看30道真题和解析
0 点赞 评论 收藏
分享
2024-08-09 09:08
1. 什么是数据库范式?为什么要进行范式化?2. 解释一下 SQL 和 NoSQL 数据库的区别。3. 什么是关系数据库?它的特点是什么?4. 什么是数据模型?常见的数据模型有哪些?5. 解释一下数据完整性及其类型。6. 什么是数据库锁?锁的类型有哪些?7. 什么是死锁?如何检测和解决死锁?8. 解释一下数据库的连接(JOIN)及其类型。9. 什么是索引覆盖?它的优缺点是什么?10. 什么是聚集索引和非聚集索引?11. 数据库中的视图与物化视图的区别?12. 什么是数据仓库?与数据库的区别是什么?13. 什么是 ETL 过程?14. 数据库的分布式架构有哪些?各自的优缺点是什么?15. 解释一下数据库的事务日志及其作用。16. 什么是数据迁移?在什么情况下需要进行数据迁移?17. 什么是 SQL 注入?如何防止 SQL 注入?18. 什么是数据备份的增量备份和全量备份?19. 解释一下数据库的归档(Archiving)策略。20. 什么是数据库的性能调优?常用的方法有哪些?21. 什么是数据字典?它的作用是什么?22. 什么是数据库的规范化与反规范化?23. 解释一下数据库的缓存机制及其重要性。24. 什么是 ACID 和 BASE 模型?25. 解释一下数据库的查询优化器及其工作原理。26. 什么是数据模型的实体-关系模型(ER模型)?27. 什么是数据库的多版本并发控制(MVCC)?28. 解释一下数据库的备份与恢复策略。29. 什么是数据同步?常见的数据同步方式有哪些?30. 数据库的监控指标有哪些?如何进行性能监控?更多问题关注下方专栏,都汇总在专栏中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看30道真题和解析
0 点赞 评论 收藏
分享
2024-08-08 08:38
1. 什么是操作系统的内核?它的主要功能是什么?2. 解释一下操作系统中的中断机制。3. 什么是死锁?死锁的必要条件是什么?4. 如何检测和解决死锁?5. 什么是轮转调度算法?它的优缺点是什么?6. 解释一下优先级调度算法及其可能的问题。7. 什么是实时操作系统?它与一般操作系统有何不同?8. 什么是内存分页?分页的优缺点是什么?9. 解释一下段式存储管理。10. 什么是文件系统?它的基本功能是什么?11. 进程调度中的时间片是如何确定的?12. 什么是缓存?缓存的作用是什么?13. 操作系统是如何管理I/O设备的?14. 解释一下虚拟化技术及其应用场景。15. 什么是系统调用?它的作用是什么?16. 解释一下操作系统中的文件权限管理。17. 什么是线程安全?如何实现线程安全?18. 什么是地址空间?它在进程管理中有什么作用?19. 解释一下内存泄漏及其原因。20. 什么是操作系统的上下文切换?它的成本是什么?21. 解释一下Linux中的进程优先级。22. 什么是网络协议栈?它的层次结构是怎样的?23. 什么是负载均衡?在操作系统中如何实现?24. 解释一下操作系统中的资源分配策略。25. 什么是软中断和硬中断?26. 如何实现操作系统的多任务处理?27. 什么是文件描述符?它的作用是什么?28. 解释一下操作系统的安全性和保护机制。29. 什么是内存映射文件?它的应用场景是什么?30. 解释一下操作系统中的任务调度与负载均衡的关系。更多问题关注下方专栏,都汇总在专栏中。  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看30道真题和解析
0 点赞 评论 收藏
分享
2024-08-06 08:39
嵌入式软件工程师的职责主要是根据产品的功能需求设计好软件,让硬件工作起来。嵌入式电子产品硬件部分,大部分都是相同的,核心的都是由CPU、RAM和FLASH 几大部分组成,而软件就千差万别了。产品的具体功能都是由软件来实现的,一般来讲一个产品的实现,软件设计的工作量是硬件设计的45倍。所以一般情况下,一个公司的软件工程师数量是硬件硬件工程师的45倍,嵌入式软件工程师需求比硬件工程师大很多,同时跟硬件工程师相比,嵌入式软件工程师学起来相对容易些,所以这里我重点和大家谈一下嵌入式软件工程的学习路线。嵌入式软件工程师学习路线1、打好嵌入式软件编程的基础这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。特别是C语言中对指针的理解和应用。这一阶段的主要目的是学习编程语言、开发环境、和培养自己的编程思维,为进一步学习嵌入式开发打下良好的基础。 这一阶段推荐的嵌入式学习书籍如下:《C程序设计语言》,《C语言核心技术》,《数据结构与算法分析–C语言描述》,《C和指针》,《C陷阱与缺陷》,《C++ Primer》2、学习ARM体系结构编程这一阶段才是真正的嵌入式编程,首先我们要选择一款嵌入式CPU和一款嵌入式开发平台,目前ARM 嵌入式CPU应用最广泛,这一阶段重点是学习嵌入式CPU的裸机编程,熟悉中断、定时器、串口、NAND FLASH、网络控制器、LCD屏、触摸屏等常用嵌入式外围设备的硬件工作原理,以及如何使用C语言来编程、控制这些硬件。这一阶段除了要学习对硬件编程之外,还需要学习嵌入式硬件的知识,但是对于嵌入式软件工程师来讲,重点是学习硬件的工作原理,在掌握硬件工作原理的基础上,对硬件进行编程控制。这和硬件工程师学习的侧重点有所不同。这一阶段对应的学校的课程主要包括模拟电路、数字电路、微机原理和单片机。这一阶段重点是要看CPU的芯片手册,大部分的参考书也是对芯片手册的翻译。推荐的参考书籍如下:《ARM嵌入式系统开发软件设计与优化》,《ARM处理器开发详解 基于ARM Cortex-A8处理器的开发设计》3、学习嵌入式系统的构建这一阶段主要学习带有操作系统的嵌入式系统的构建,包括系统的启动流程、Bootloader的工作流程、UBOOT的编译、裁剪与移植、嵌入式Linux内核的裁剪、移植与编译,嵌入式根文件系统的定制、BootLoader、内核和根文件系统的烧写。 这一阶段的主要目的是掌握带有操作系统的嵌入式系统的构建和烧写过程,以及对嵌入式系统软件的总体构成有个整体认识,为我们接下来学习嵌入式应用和驱动开发打下坚实的基础。 这一阶段推荐的书籍如下:《构建嵌入式Linux核心软件系统实战》4、学习嵌入式Linux应用程序开发这一阶段主要学习上层的嵌入式Linux应用程序开发,包括基于Linux多进程、多线程、网络、文件与目录和QT编程。掌握嵌入式Linux环境下应用程序开发技术。这一阶段推荐的书籍有: 《UNIX环境高级编程》, 《Unix网络编程》,《Qt Creator快速入门》, 《精通Qt4编程》5、学习嵌入式Linux驱动程序开发这一阶段主要学习底层嵌入式Linux设备驱动程序开发设计,包括常用的字符设备驱动、块设备驱动、LCD设备驱动、触摸屏设备驱动以及驱动程序开发中的核心技术。这一阶段推荐的参考书籍有:《Linux设备驱动程序》,《Linux设备驱动开发详解》。6、完成一个综合项目嵌入式技术关键在于理论和实践的结合,要能够学以致用,完成了以上的所有阶段的知识点学习后,到底有没有学会,会不会用,能不能应用所学知识来解决实际开发中的问题,我们需要来完成一个综合的嵌入式实训项目,例如: 基于嵌入式Linux平台实现的飞行器、 基于嵌入式Linux平台实现的智能机器人等,这些项目都综合应用了嵌入式开发当中的应用,驱动和QT开发技术。以上介绍的就是嵌入式软件工程师学习路线图了,在学员们系统的学习嵌入式知识后,嵌入式基本上就算入门了,这时候去应聘企业的嵌入式研发工程师岗位就不会有什么问题了。嵌入式面经可以参考下方链接  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享

创作者周榜

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