还蛮简单的,不过8我忘了,要去看下书😂
点赞 1

相关推荐

下面就根据我的实际情况,来和大家分享一下技术方面的经验吧。对于Linux方面的知识,就很遗憾没办法帮助到各位了(我就是个小菜鸡/(ㄒoㄒ)/~~)在这里我就只简单提一下需要准备哪些方面的知识,因为把所有内容都写在同一个帖子里太长了。C语言无论是嵌入式单片机还是嵌入式Linux,C语言都是必考的内容,可以说C语言是嵌入式软件工程师吃饭的家伙,相信C语言的重要性不用多说。C语言这块的话,随着不断复习,自己的一个熟练程度也会越来越高,所以最重要的就是多看多练。对于嵌入式工程师来说C语言基本上是要完全掌握并且熟练使用的,下面就先列出在笔试面试中C语言需要掌握的/比较重要的知识点:运算符优先级输入输出操作原码、反码、补码预处理关键字堆栈数组指针函数字符串结构体、联合体内存分配主要是这几个大的方向,输入输出是必须要熟练的,因为在笔试编程题里面是几乎必须要用到的,这个部分可以去刷算法题来熟悉一下。关键字所有的关键字都要了解,像是static、volatile、extern、sizeof都是比较常考的。堆栈和指针都是重中之重,一定要全面完整地学习。像是大题的话往往是考算法、数据结构以及对字符串的一系列操作。C++如果有时间的话最好去学一下,就封装、继承、多态之类的,所以推荐把其他部分内容复习完以后还有多时间的话可以学一学C++方面的一些知识。单片机单片机这部分主要是针对你在项目中常用的芯片,一般来说大部分人是以STM32为主。我就针对STM32来说说有哪些重要的知识点:GPIO中断定时器通信接口在这些里面最常被问到的就是中断和通信接口。其中通信接口主要就是IIC、SPI、UART。数据结构与算法数据结构对于嵌入式软件岗位来说,数据结构相对没有互联网行业的招聘那么重要,但还是属于必考的知识点。对于嵌入式岗位,数据结构可以选择性地学习,不用全部都学会,毕竟准备的时间是有限的,当然有充足的时间的话,当然建议都学会了,因为对于顶级大厂来说,数据结构是考核的相对重点。数据结构对于大多数不冲顶级大厂的同学来说,主要学数组、链表、队列、堆栈就可以了,至于二叉树之类的,在我整个秋招的过程中,几乎没有被问到。可能像是华为这种公司会考到。算法算法这部分建议牛客网刷一下题,起码刷个20道简单题,熟练一下做题的方法,输入输出这些,对字符串的操作这些,因为后面笔试基本上都会考两题大题,基本上刷个20题,稍微总结一下,然后加上平时的积累就问题不大了,如果想进华为这样的大厂,就要刷中等甚至困难的算法题了,这个看各位自己的取舍,也可以在牛客网上看看你想投的那家公司的笔试面试侧重点在哪里,比如说华为笔试就是考3道算法大题。网络网络这部分考得还是比较少的,有些公司会问,有些公司不问,如果是涂鸦智能这样做物联网的公司那肯定是会问的。这部分就需要知道一些基础,如果项目中有用到的话就需要将项目中用到的协议了解清楚,以及你在做这个项目的时候为什么要选择这个协议而不是另一个协议。我就在一个物联网项目中有使用到MQTT协议,那我就去单独学了这部分的知识,如果并没有项目涉及网络这一块的话就掌握一点基础知识就好了,即使不理解也死记硬背背下来,但是还是建议大家能在理解的基础上记忆,不然面试官稍微往深入问一点就答不出来了,最经典的两个问题:tcp和udp的区别三次握手四次挥手这部分内容比较少,就不单独展开来讲了,主要就是上面提到的两个问题,把那两个问题理解了去面试非网络领域的公司就没什么大问题了。操作系统操作系统这部分的基础知识是肯定要会的,尽管你可能像我这样在大学阶段只用过单片机,并且没在上面跑过uCOS或者FreeRTOS之类的实时操作系统的话强烈建议要去学一下这方面的知识,因为尽管是投的嵌入式单片机的岗位,往往也是要求会实时操作系统的。所以建议可以去学一下FreeRTOS或者RT-Thread之类的实时操作系统,有时间的话最好能够在自己的项目中实践一下,时间不够的情况下就把基础知识系统地先学一下。其次就是Linux,尽管投的是嵌入式单片机岗位,但嵌入式在广泛的一个定义里,大家还是默认是以Linux为主,所以Linux的基础知识也要会,因为有些公司在笔试的时候就会涉及到,这方面的话主要是要理解一些理论知识,知道线程进程,知道一些基础的指令,最好可以在ubuntu上写一个代码出来gcc编译一下。会这些Linux相关内容基本上就可以让你在笔试阶段不那么吃亏,当然只会这些是不足以支撑你去找一个纯Linux岗位的工作的。找工作流程对于大部分公司来说,招聘流程是这样的:投递简历→测评→技术笔试→技术一面(初试)→技术二面(复试)→HR面(终面)→offer谈薪。有部分公司是没有单独的HR面的,就是技术二面会换成综合面,前半段聊技术问题,后半段聊一些其他东西。一般来说技术一面的面试官是你将来入职后的同事,技术二面或者综合面试的面试官就是你将来入职后的主管。主要的流程就是这样,不同的公司会有不同的招聘流程,不过都是大差不差的。其他面经题目可以看这个牛油的总结,链接在下边***********************
点赞 评论 收藏
分享
1. push_back()左值和右值的区别是什么?2. move底层是怎么实现的?3. 完美转发的原理是什么?4. 空类中有什么函数?5. explicit用在哪里?有什么作用?6. 成员变量初始化的顺序是什么?7. 指针占用的大小是多少?8. 野指针和内存泄漏是什么?如何避免?9. malloc和new的区别是什么?10. 多线程会发生什么问题?线程同步有哪些手段?11. 什么是STL?12. 对比迭代器和指针的区别13. 线程有哪些状态,线程锁有哪些?14. 解释说明一下map和unordered_map15. vector中的push_back()和emplace_back()的区别、以及使用场景16. 如何实现线程安全,除了加锁还有没有其他的方式?17. vector扩容,resize和reserve的区别18. vector扩容为了避免重复扩容做了哪些机制?19. C++中空类的大小是多少?20. weak_ptr是怎么实现的?21. 虚函数的底层原理是什么?22. 一个函数f(int a,int b),其中a和b的地址关系是什么?23. 移动构造和拷贝构造的区别是什么?24. lamda表达式捕获列表捕获的方式有哪些?如果是引用捕获要注意什么?25. 哈希碰撞的处理方法26. unordered_map的扩容过程27. vector如何判断应该扩容?(size和capacity)28. 构造函数是否能声明为虚函数?为什么?什么情况下为错误?29. 类中static函数是否能声明为虚函数?30. 哪些函数不能被声明为虚函数?31. 如何保证类的对象只能被开辟在堆上?(将构造函数声明为私有、单例)32. 讲讲你理解的虚基类33. C++哪些运算符不能被重载?34. 动态链接和静态链接的区别,动态链接的原理是什么?35. C++中怎么编译C语言代码?答案附在面经中https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
#面经# 大梦龙途,c++服务器岗位,面试:1️⃣先在电脑上写双向链表,写到一半面试官说可以了,然后简单检查。2️⃣介绍自己的基本情况(不用很详细)。3️⃣换个面试官进入下一阶段。4️⃣没有自我介绍,抓简历问,问我并发聊天服务器,和五子棋服务器是不是自己做的(面试官看过很多简历这两个项目很雷同),(参考书上的),哪本书?(Linux c++服务器开发实践)面试官又说书名一听是外国的,五子棋是中国的,看书学习很正常,让我不要掩饰,我就说是按书上的步骤写的,书本是清华大学出版的(面试官以为我是直接搬的开源代码,以为是培训机构的,硬是不信是书上的)5️⃣协议,怎么知道数据的长度?(一头雾水,这个面试官说话特别拐弯抹角)。怎样知道接收方接收的数据是发送方发的数据?(一头雾水,问问题可以问直接一点吗,请面试官不要掩饰自己)6️⃣抓简历问,leetcode刷了多少题?7️⃣抓简历问,平时ai用哪种工具,(用kimi),如果用AI写的代码质量低怎么办?(这个问题面试官问的无敌拐弯抹角,实际上他是想问有没有用国外强力好用的ai,会不会翻墙?)8️⃣抓简历问select和epoll有什么不同?9️⃣抓简历问智能指针是什么?🔟抓简历问,你认为c和c++有什么不同(面试官问的很笼统,范围很大)11期望薪资是多少?(10k~13k)12今天面试差不多到这,没问其他问题内心ob: 能不能问我正常点的多线程网络编程问题? fork函数和僵尸线程都没问,锁和线程通信也不问,无语死了
查看11道真题和解析
点赞 评论 收藏
分享
牛客网
牛客企业服务