avatar-decorate
爱刷题的小李 level
获赞
1637
粉丝
470
关注
2
看过 TA
1734
北京理工大学
2021
算法工程师
IP属地:北京
刷题,刷题,刷题,今天你刷题了吗!
私信
关注
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语言代码?答案附在面经中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
游卡校园招聘部HR_主页内推:收藏了
查看35道真题和解析
0 点赞 评论 收藏
分享
公司的面试流程一般是笔试—>技术面试—>hr面试,在大部分应聘测试工程师这种技术岗的应聘者理解中,通常认为通过技术面试了,后面的hr面试基本就是走流程过形式。也正因如此,我们习惯性地把精力投入到技术面试,而忽略了人事面试。  为什么面试感觉不错,可后来一直没有回音?也许这就是问题所在。  以下凭个人经验给大家总结一下人事面试的一些技巧,希望对于你的求职之路能有帮助。 ——HR面试基础问题准备——  大部分的HR不会问你岗位专业问题,有一句话是说技术面试看你做事,人事面试看你做人。无非是看你的沟通能力、性格、企业忠贞度、对岗位的热情等。以下列举一些常见的面试问题及回答指导。1、上家公司为什么离职?   离职原因无外乎就是薪酬不满意或者心里受了委屈。虽然大家都心知肚明,但却真的不能太过诚实!切记不要说任何伤害到上家公司及公司同事的话,比如薪资结构不合理、工作压力大加班多、领导喜欢开会、同事难相处。建议最好是说自身原因且能让HR信服的,比如说觉得目前个人发展已经没有什么空间,想要在技术上再多历练提升下自己。回答是积极正面的就好。2、对我们公司业务了解吗?   面试官主要看你对这一份工作的渴望程度,如果说没有了解,HR肯定会觉得你没有很重视这次的面试机会。建议大家一定要提前百度查看下公司的介绍及主营业务。问道这个问题的时候可以说自己有去官网了解公司的产品,可以对产品进行简单的概述。如果你对产品有个人正面的见解,绝壁是让面试官对你好感倍增的亮点。但见解之类的少说,言多必失。3、说一下你个人优缺点?   测试岗位相关的素质要求,例如耐心、细心、责任心、抗压能力强都可以说成自己的优点。但切记对于说的每一个优点都要想好具体的实例体现。以免HR继续问你”能举一个抗压能力强的例子么”,那么你可以列举公司赶项目连着加班半个月,每晚10点后下班的情况(软件公司一般都会有加班,侧面也体现你能适应加班)。   说缺点的话,要有技术含量地说一些小缺点,深究这个小缺点其实还是优点来的。比如可以说自己有点爱钻牛角尖。 下一章讲讲谈薪。附录: 下边是大佬总结的全网最全嵌入式面经。  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
1.愤怒 😡     - 为什么网申要填写那么多个人信息,包括父母的情况、身高体重、生活照等?辛苦填完网申后,插入简历却自动覆盖了所有内容;更让人气愤的是,明明没有名额(HC),却还要捞人面试。2. 懒惰 😪     - 收到一堆海量的笔试和面试邀请,但却不想动弹。做完一个任务就倒在床上感慨,虽然什么也没做,但还是觉得自己辛苦了。3. 嫉妒 ☹️     - 刷到某些平台上,看到大家陆续收到意向offer,甚至可以用来炫耀,幻想自己也能拿到offer并发圈炫耀,醒来后只能把所有此类帖子点了不感兴趣。4. 依赖 😘     - 天天问某个联系方式的朋友或伴侣:“你说句话啊”,依赖他人来获取信息和支持,而忽视了自己主动去寻找机会的能力。5. 暴食 😗     - 真的饿了,平时不屑一顾的公司也要去舔,想着“反正也能试试”,这种心态可能导致不必要的浪费和时间消耗。6. 傲慢 🤨     - 心高于天,想着投小公司只是试试看,结果人家根本看不上自己,反而让自己感到失落,笑死,自己其实也没有很想去。7. 贪婪 😎     - 投的公司都想去,疯狂投递简历,面试不停,心里想着“吃着碗里的,看着锅里的”,结果导致精力分散,难以集中。8. 焦虑😰     - 每天都在刷招聘信息,担心自己的简历没有被关注,害怕错过任何一个机会,结果越焦虑越难以集中精力准备面试。9. 逃避 🙈     - 面对各种面试准备和笔试任务,选择逃避,干脆不去看招聘信息,想着“反正也没什么希望”,导致机会白白流失。10. 盲目 🥴      - 不加思考地投递简历,看到什么公司就投什么,缺乏对自身职业发展的规划,结果面试时也无法清晰表达自己的职业嵌入式面经可以看这个大佬总结的就很详细  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
秋招进入尾声了,还没拿到offer,大家是不是还在暗自哭泣,今年秋招难!!!但是!不要气馁,咱们还有补录机会!!!那要怎样才能抓住机会,成功上车呢?相信大家在前期的面试中应该积累了一定的面试经验了,对于面试官常问的问题心中应该也有数了吧,但是面试前的准备工作是很多同学容易忽视的,而这个准备工作有时候也能直接决定面试的成功率。所以今天小编就来给大家盘一盘面试前要做哪些准备工作,供大家查漏补缺!!!首先,要保证自己对过往的经历非常熟悉。ps:这里也提示我们在工作中,不能一味执行。不去思考背后的动机,会让自己的工作变得毫无意义不说,还会让我们的成长非常缓慢。其次,将自己的能力与岗位做好一一匹配。以上内容可以拿张纸列出来,然后和自己的情况做一一对应,并保证自己和岗位匹配之处,也能找到对应的事例证明,这样在面试中基本不会出现被问倒的情况。最后,想清楚自己的求职动机。大家都知道,为什么来应聘这个岗位之类的问题,几乎是面试的必问题,面试官要清楚候选人的动机,才能判断候选人的稳定性以及入职后在这个岗位上的主观能动性。围绕面试岗位,我们需要充分了解该岗位服务的对象是什么?是对外还是对内?对外的话是to b还是to c?产品特性是什么?行业内有什么经典案例?企业在行业的地位?该岗位一天下来的工作状态\体验如何?了解以上内容,一方面能保证我们能更好的回答面试官针对业务方向的问题,另一方面也能让面试官看到我们明确且坚定的求职动机。同时,自己也可以想清楚该岗位的工作内容是否和自己的职业规划一致。了解渠道:可以通过企业的招聘简章、企业官网、企业官方公众号、行业网站、行业公众号去了解,也可以上网看看同类型的工作状态是什么样的。同类型的部门,一般在企业里面会对接哪些部门?该部门在公司处于什么样的角色/定位?发展如何?尤其是大厂,同一个岗位,在不同的业务线上,工作体验可能是完全不一样的,有的是神仙工作,有的可能是深坑。提前了解,可以帮助我们进一步判断这个工作的内容、晋升和自己的职业规划是否一致,也可以帮我们避坑。了解渠道:可以通过网络平台,也可以通过询问该方向工作的师兄师姐或者老师。有的面试者会在面试中去问企业薪资,有的面试者会在面试官问到期望薪资时回答不上来,这两种情况显然在面试中都会减分。前者会让面试官觉得候选人眼高手低、好高骛远,尤其是应届生在初面中问薪酬,是非常减分的。后者会让面试官觉得候选人对自己不够自信,对岗位缺乏了解。而这两种情况其实是完全可以避免的,我们在面试前去了解目标岗位在同类型企业的薪酬范围,并不是一件难事。了解渠道:******* 官网 官网 官网!!!!嵌入式面经可以看这个大佬总结的就很详细  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
1. 操作系统的进程与线程有什么区别?2. 操作系统是如何进行内存管理的?3. 虚拟化技术的优缺点是什么?4. TCP/IP协议栈的层次结构是怎样的?5. 操作系统中的调度算法有哪些常见类型?6. 嵌入式系统中的实时性要求是什么?7. 文件权限是什么,Linux中如何管理文件权限?8. 操作系统中的中断处理机制是怎样的?9. 网络地址转换(NAT)有什么作用?10. 嵌入式系统中的PWM(脉宽调制)技术是如何工作的?11. 多进程编程有哪些优势和挑战?12. 操作系统中的死锁检测算法是什么?13. 数据库事务的ACID特性是什么?14. 嵌入式系统中的蓝牙通信原理是什么?15. 软件架构是什么,常见的软件架构模式有哪些?16. Linux中的内存映射文件(mmap)机制是怎样的?17. 网络爬虫是如何工作的?18. 嵌入式系统中的ADC(模数转换器)是如何工作的?19. API(应用程序接口)的作用是什么?20. 操作系统中的信号处理机制是怎样的?21. 负载均衡是什么,常见的负载均衡算法有哪些?22. 嵌入式系统中的RTOS(实时操作系统)有哪些特点?23. 数据包在网络通信中有什么作用?24. Linux中的文件描述符是什么,它的用法是什么?25. 网络安全中的***是如何工作的?26. 嵌入式系统中的时钟管理是怎样的?27. 容器技术与虚拟机有什么区别?28. 操作系统中有哪些文件系统类型?29. 网络拓扑中的星型拓扑和环型拓扑有什么区别?30. 嵌入式系统中的温度传感器是如何工作的?31. 数据冗余有什么优缺点?32. 操作系统中的内存分配策略是什么?33. 编译器优化有哪些常见的优化技术?34. 嵌入式系统中的串口通信原理是什么?35. 网络流量监控是什么,常见的流量监控工具有哪些?36. 操作系统中的线程同步机制是怎样的?37. 网络协议中的握手过程是怎样的?38. 嵌入式系统中的电池管理技术是什么?39. 机器学习的基本原理是什么?40. 嵌入式系统中的图像处理基本原理是什么?面经答案整理到专栏中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
1. 什么是C++中的模板特化?2. 什么是多态?如何在C++中实现?3. 什么是虚函数?它的作用是什么?4. C++中的构造函数和析构函数有什么区别?5. 什么是抽象类和接口?如何定义它们?6. C++中的类型转换有哪些方式?7. 什么是命名空间的嵌套?如何使用?8. 如何使用std::mutex进行线程同步?9. C++中的智能指针如何实现自定义删除器?10. 什么是RAII的优点?11. C++中的const修饰符有什么作用?12. 如何实现一个简单的单例模式?13. 什么是C++中的内存对齐?14. 如何使用std::atomic实现原子操作?15. C++11引入的std::initializer_list是什么?16. 如何使用std::tuple?它的使用场景是什么?17. C++中的decltype有什么作用?18. 什么是函数对象(Functors)?19. 如何实现一个简单的事件机制?20. C++中的std::move和std::forward有什么区别?21. 什么是Lambda捕获?如何使用?22. C++中的std::promise和std::future是什么?23. 如何使用std::chrono进行时间测量?24. C++中的std::array如何与std::vector进行比较?25. 什么是std::string_view?它的优点是什么?26. C++中的using和typedef有什么区别?27. 如何实现一个简单的观察者模式?28. C++中的std::any是什么?如何使用?29. 什么是C++中的异常安全保证?30. 如何使用std::filesystem处理文件系统操作?31. C++中的constexpr函数有什么限制?32. 什么是std::optional的使用场景?33. 如何在C++中实现一个简单的线程池?34. C++中的std::string如何支持拼接和查找?35. 什么是C++中的static_assert?有什么用?36. 如何使用std::copy和std::move进行拷贝和移动?37. C++中的std::vector如何动态调整大小?38. 如何在C++中实现一个简单的计时器?39. C++中的std::list和std::vector的内存使用有什么不同?40. 什么是C++中的命名空间别名?如何使用?41. 如何使用std::variant进行类型安全的联合体?42. C++中的std::shared_mutex如何实现读写锁?43. 如何在C++中实现一个简单的状态机?44. C++中的std::function如何与回调函数结合使用?45. 什么是C++中的虚表(vtable)?46. 如何使用std::for_each和Lambda表达式遍历容器?47. C++中的std::unordered_map是如何实现的?48. 如何使用std::map和std::set进行排序?49. C++中的std::unique_lock和std::lock_guard有什么区别?50. 如何在C++中实现一个简单的命令模式?问题答案已经整理到专栏中了,关注我分享更多知识。  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
头像
10-28 10:22
已编辑
北京理工大学 算法工程师
房屋租赁合同是指住房出租人和承租人在租赁住房时签订的、用来明确双方权利和义务的协议。租房合同的注意事项如下:一、不能“签”口头协议一些房东或者房产公司的业务员在看房期间表现得十分耐心和热情,许多租户在签订合同时,被房东和业务员的热情所麻痹,而未将房东的口头承诺写进合同。在合同签订后,房东和业务员往往一口咬定,以签订的合同为准,不承认不履行之前口头承诺的种种,此时租户也只能吃哑巴亏。所以,您在签订合同时,一定要把相关的事项尽可能在合同中以书面的形式体现出来,任何口头承诺均视为无效。即使作为租客的你不了解房屋租赁合同常用版的详细内容,也应明确水费、电费、煤气费、电话费、光缆电视收视费、卫生费和物业管理费等由谁承担,并列明租住前的各项数字,以区分责任。此外,签订合同前还应注意入住之前的水电气以及物管还有光纤电话费等是否结清。二、确定房屋的所有权或者处分权1、若出租人是房东,请检查房产证上的户名或查看购房合同。2、若出租人是二房东或中介公司,则需要检查房东的授权委托书原件(最好经过公证)。3、若出租人是租客,则需要房东同意转租的书面证明文件原件,并在合同中约定如产权人同意转租的书面证明文件不真实时,转租人应承担何种责任。三、明确租赁期限在实际生活中,房东和租客双方往往会在房屋租赁合同中约定租赁期限。在这个期限内,如无特殊情况,出租人不得收回住房,承租人也不得放弃这一住房而租赁别的住房。期限到了之后,承租人需将住房退还给出租人。如果租客要继续租赁这套住房,则要提前通知出租人(注意:同等条件下,租客是享有优先承租权的)。经协商,出租人同意后,租客可继续租赁这套住房。而如果没有明确租赁期限的话,租客就可能面临着合同随时被解除的风险。依照我国合同法的相关规定,当事人对租赁期限没有约定或者约定不明确,视为不定期租赁,当事人可以随时解除合同。注意:租房期限长是20年,如超过20年则超出部分无效。一般都是一年一签四、租期内转租需明确程序在居住过程中,租客可能会因为一些事情,不能继续住房而需要转租;或者部分租客租房的目的原本就不是自住,而是想通过转租取得租金收入。由于类似转租行为会影响到出租人的利益,所以双方应该在合同中对转租加以明确规定。如果允许转租,双方可以协商确定一个分享转租收入的比例,还应明确转租的程序,以免因转租事项产生分歧;如果不允许转租,而租客擅自转租,出租人则有权终止租赁合同。五、明确押金数目及其退还流程合同要注明押金数目,明确租赁合同到期后出租人以何种方式将押金退还,并应在合同中明确规定:房屋设施无毁损,业主应在租约期满后N个工作日内全额退还押金(注意:一定要明确押金退还期限)。此外,合同中最好设立押金扣除条款,说明哪些具体情况下房东才可以扣除相应的押金金额,以避免退租时产生押金纠纷(我国法律未对押金作出规定)。六、房屋物品交割,明确维修责任签订租赁合同前,承租方应详细清点屋内设施并把房屋内设施标注在合同中,除简单的家具和电器的试用外,租客应该和房东或中介协商,列出所有的家具、电器状况清单。如有必要,还需要房东(中介)提供电器的购买发票,并通过照相的形式保存租房时的现状,以避免纠纷。另外关于居住期间的产生的维修问题归谁承担,如平时使用的家具家电的损耗、房屋的主体结构的损坏等,也都应在合同中有所体现。注意:出租人未及时修复损坏的房屋,影响承租人正常使用,应按照约定承担赔偿责任或减少租金,也可由承租人自行维修,维修费用由出租人负担。但如果是因为承租人使用不当而造成损坏的,由承租人负责维修或赔偿。七、明确违约责任在房屋租赁过程中,经常会遇到各类违约情况,而为了保障自己的合法权益,在签订合同时,双方就要想到可能产生的违反合同的行为,并在合同中规定相应的惩罚办法,包括双方需配合的时间,证件等,因违约付出的成本越高,合同执行的安全性越高。八、合同要写明住房用途合同应明确住房是用于承租人自住、承租人一家居住、还是允许承租人或其家庭与其他人合住(就是住几个人,允许谁住都要规定清楚);住房是仅能用于居住,还是同时可以有其他用途,如办公等,都应规定。九、合同无效的情况另外,大家在签订租赁合同时,应注意以下情况所签订的合同不具备法律效力:1、一方以欺诈,胁迫的手段订立合同,损害国家利益;2、出租人不具有出租房屋的实体权利,将导致合同无效。3、将违法建盖的房屋用于出租的,将导致租赁合同无效。比如说经常遇到的城中村违建物。4、租赁合同的期限违反法律规定的,合同无效。(租赁期限不得超过二十年)5、法律法规禁止出租的合同无效。(公租房、军产房、廉租房等都属于这一类)分享不易 嵌入式可以参考大佬的面经  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
1.自我介绍2.freerots主要是微内核,主要有哪些组成部分,内部任务间的通信方式有哪些?3.freertos任务切换的过程,详细一点如何切换的,保存怎么恢复的?4.freertos任务有哪些不同的状态?高优先级任务被阻塞或者挂起,再执行低优先级任务5.用过单片机的哪些外设?6.PWM除了占空比之外还有什么要素?频率,周期,占空比7.蓝牙的底层协议?8.linux的进程间通信机制?9.进程间的调度方式?10.linux的内存管理?11.了解Linux的一些驱动么?12.对VFS的框架有了解么?13.常用的linux基础命令14.GCC编译一般分为那几部分?15.用过vim么,介绍vim常用命令?16.结构体和联合体的区别,什么时候会用联合体?17.位域的概念?18.static关键词的作用?(二面)1.在Linux上有做过一些开发或者测试么?2.IIC驱动?3.接触过哪些单片机的外设?SPI了解过么?4.多进程的通信方式?5.问了深度学习的项目,项目难点,优化方法?6.如何看待嵌入式测试开发这个岗位?7.用过pytest库么?8.给一个测试场景,比如现在有一个IIC的驱动,怎么去测试它?(三面)三面是总监面,面试之前百度了下,还真查到了哈哈哈,算是提前认识了技术问题不多,更多的是综合性的东西1.介绍项目,项目中遇到的问题以及优化的地方?2.PWM遇到毛刺信号如何处理?这块没答好,说了电容滤波3.实习对于自己的一个收获讲一讲?4.实习中自己最有收获的一件事情?5.自己未来的职业规划?(这块我提到了自己想要往技术深层发展,面试官耐心的解释了每一阶段的工程师应该具备哪些素质,对自己也是一个很好的启发)9.18三面结束,目前业务面所有流程走完,官网状态还没变有需要的可以看看大佬专栏 问的问题专栏里都有  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看31道真题和解析
0 点赞 评论 收藏
分享
1. C++中的引用是什么?与指针有什么区别?2. 什么是RAII?它的优势是什么?3. C++中的const和constexpr有什么区别?4. 解释一下C++11中的智能指针(shared_ptr、unique_ptr)的使用场景。5. 如何实现一个线程安全的单例模式?6. C++中的类型推导(auto)是如何工作的?7. 解释一下C++中的模板元编程。8. C++中的异常处理机制是怎样的?9. 解释一下C++中的命名空间(namespace)。10. C++中的多重继承会引发哪些问题?如何解决?11. 什么是类型擦除?在C++中如何实现?12. C++中的析构函数有什么作用?何时会被调用?13. C++中的static关键字的作用是什么?14. 解释一下C++中的友元类和友元函数。15. C++中的虚析构函数有什么重要性?16. C++中的内存对齐是什么?为什么需要它?17. 解释一下C++中的动态多态性和静态多态性。18. C++中的std::function和std::bind有什么区别?19. C++中的move语义如何减少不必要的拷贝?20. 解释一下C++中的函数重载和运算符重载。21. C++中的std::thread如何创建和管理线程?22. C++中的条件变量是如何工作的?23. C++中的std::atomic如何实现原子操作?24. 在C++中如何实现一个简单的线程池?25. C++中的std::mutex和std::recursive_mutex有什么区别?26. 解释一下C++中的模板特化(全特化和偏特化)。27. C++中的std::variant是什么?它的用途是什么?28. C++中的std::optional的使用场景是什么?29. C++中的std::any是什么?如何使用?30. C++中的static_assert有什么作用?31. 解释一下C++中的移动赋值运算符的实现。32. C++中的内存管理策略有哪些?33. C++中的函数指针和成员函数指针有什么区别?34. C++中的std::list和std::vector的区别是什么?35. C++中的异常安全性(what is exception safety)有哪些级别?分享不易,关注我分享更多面试知识,嵌入式c++的同学可以看一下大佬总结的面经  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
1. 函数重载是什么?请举例说明。2. 引用和指针有什么区别?3. `const`修饰符的作用是什么?如何使用?4. 类成员初始化列表是什么?它有什么作用?5. 模板是什么?如何定义和使用模板?6. 多重继承有什么优势和劣势?7. 命名空间如何防止命名冲突?8. `volatile`关键字有什么作用?9. `static`成员的特点是什么?10. 如何实现单例模式?11. `nullptr`是什么?它与`NULL`有什么区别?12. `std::string`和`char*`的区别是什么?13. `new`和`delete`操作符的作用是什么?14. `sizeof`运算符如何使用?15. `enum`和`enum class`有什么区别?16. `std::vector`的基本操作是什么?17. `std::map`如何使用?请举例说明。18. `std::set`的特点是什么?19. 如何处理内存泄漏问题?20. `std::unique_ptr`如何使用?请举例说明。21. `std::shared_ptr`的工作原理是什么?22. `std::weak_ptr`的用途是什么?23. `std::list`与`std::vector`的性能差异是什么?24. `std::unordered_map`的特点是什么?25. `std::unordered_set`如何使用?26. `std::copy_if`的作用是什么?如何使用?27. `std::find`如何使用?28. 异常安全性是什么?如何实现?29. `std::function`的作用是什么?30. `std::bind`如何使用?请举例说明。最后呢祝各位同学工作顺利,关注我分享更多面试知识,嵌入式c++的同学可以看一下大佬总结的面经  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
头像
10-21 13:44
已编辑
北京理工大学 算法工程师
一、面试方法一)考察点面试主要考察:技能、能力、价值观、匹配度1、技能一个程序员技能过关才能完成日常开发任务,所以基础知识也是面试的必考内容。一个J程序员需要掌握的技能还真不少。代码设计,项目实战通通得会。针对上面的每个技术栈的知识点,都有多年的面试题积累了(俗称「八股文」),面试前一定要过一遍,要求广度。实际工作项目中使用到的技术一定要重点掌握,要求深度。下面是我整理的知识点详细的脑图:2、能力工作年限和职级越高,对能力的要求越大,对技能的要求反而没那么大。学习能力:世界变化太快,尤其是在IT行业。面对新的知识和技能时,具备快速学习的能力至关重要,能够迅速掌握并应用新的知识。沟通能力:能够清晰、准确地表达自己的想法和观点,并理解他人的意见和观点,以进行有效的沟通和交流。作为程序员,不仅仅需要会写代码,还需要具备良好的沟通能力。即使不直接面对客户,与产品经理、测试同事、领导和下属之间也需要进行频繁的沟通。3、价值观当设定了自己的目标和追求时,面对困难和挑战,是选择坚持不轻易放弃,持之以恒地努力追求目标,还是选择轻易放弃?这是否与公司的价值观一致?是否具备以公司事务为己任的owner意识?听起来确实有一些「PUA」优点,但这样做确实能在职场获得较好的回报。4、匹配度而面试官的目的是找到适合职位要求的候选人。需要注意的是,这里所说的是“适合”的人选,而不是“最好”的人选。这不仅考虑到用人成本,还考虑到员工的职业发展和工作质量。许多面试官不会选择经验和技能过剩的应聘者,而是选择经验和技能匹配,甚至稍微差一些,但是具备潜力和动机的应聘者。这样的人选会更加珍惜这个机会,对工作充满兴趣,更有动力去接受挑战,主动学习并将工作做好。二)表达技巧1、金字塔法则金字塔原理是美国人巴巴拉·明托提出的一种关于思考逻辑的方法论。它很简单,核心思想是任何事情都可以归纳出一个中心思想,中心思想可由三至七个论点支持,每个论点可以由三至七个论据支撑。这样延伸下去,形状像一个金字塔,所以才叫金字塔原理。我们在讲解自己的工作经历的时候就比较适合金字塔法则。先把我们最重要的优势先提出来,然后按照时间顺序从近到远讲解自己的工作经历。用实际做的事来印证我们的优势。2、STAR法则STAR法则是一种在面试中有效回答问题的方法。它包括以下几个步骤:Situation(情境):描述你所面临的具体情境或挑战。Task(任务):解释你在该情境下的任务或目标。Action(行动):详细说明你采取的具体行动步骤。Result(结果):阐述你的行动带来的具体结果和成就。使用STAR法则可以帮助你在面试中清晰、有条理地回答问题,展示自己的能力和经验。我们讲解做过的项目的时候非常适合使用STAR法则。先介绍我们项目的业务背景技术背景,再说明当前要做一个什么事,然后说明具体的技术方案以及如何落地,最后说明我们这个项目取得了什么结果。这样面试官就比较容易理解,就会认为面试者逻辑性很强。3、学会倾听面试官问一个问题,即使你刚好很熟悉也一定不要「抢答」。一个是可能根本没有理解面试官的问题,二打断别人还是不太尊重的。面试官也是个最普通的人,是人就会被情绪操纵,留下不好印象很可能会影响这次面试的通过率。面试官就是你的未来同事,你可以把面试官当成你的工作搭档去沟通,方便去做双向筛选。二、面试流程一般技术人员的面试为2-3轮技术面,一轮hr面试。一面:一般是跟你同级别技术能力比较强的同学。主要会考察技能是否过关,做一个初步筛选。二面一般是你的直系领导,你的升职加薪的直接负责人。主要会考察技能和能力,以及是否适合当前的岗位。三面一般是你的大领导,跟你直接的工作合作机会不会很多,绝大部分都不负责一线开发工作了。所以技术考察会少一些,会更看重能力,价值观等软性能力hr面恭喜你,终于到了hr面。基本到了hr面只要不作死就安全了。hr主要是聊得内容不外乎职业发展,个人情况,离职原因,期望薪资这些。会根据你前面的面评和对标公司是否有offer来给你定薪资。最后呢祝各位同学工作顺利,关注我分享更多面试知识,嵌入式c++的同学可以看一下大佬总结的面经  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
1. C++中的RAII(资源获取即初始化。2. C++中移动构造函数的作用是什么?。3. 什么是深拷贝和浅拷贝?如何在C++中实现深拷贝?4. C++中的智能指针及其不同类型(`std::unique_ptr`, `std::shared_ptr`, `std::weak_ptr`)。5. 在C++中,如何防止一个类被继承?6. 什么是C++11中的lambda表达式?。7. C++中的`explicit`关键字有什么作用?什么时候使用它?8. 什么是C++中的友元函数和友元类?9. 解释C++中的运算符重载10. 模板特化是什么11. 类型推导(type deduction),比较`auto`和`decltype`。12. SFINAE(Substitution Failure Is Not An Error)?它有什么应用?13虚函数表(vtable)?请解释其实现原理。14. `mutable`关键字有什么作用?请举例说明。15. 什么是常量表达式函数(`constexpr`)?它有什么好处?16. 右值引用(rvalue reference)和移动语义(move semantics)。17. noexcept`关键字有什么作用?什么时候使用它?18. static`关键字有哪些用法?请分别解释。19. 什么是类型别名(type alias)?如何使用`using`和`typedef`定义类型别名?20. `decltype`关键字有什么作用?。21. C++中的函数对象(functor)。22. 什么是模板元编程(template metaprogramming)?23. C++中的`std::bind`和`std::function`有什么作用?24. C++中的`std::thread`如何使用?。25. 什么是C++中的原子操作(atomic operations)?`std::atomic`有什么作用?26. C++中的条件变量(condition variable)及其使用场景。27. C++中的`std::lock_guard`和`std::unique_lock`有什么区别?28. 什么是协程(coroutines)?C++20如何支持协程?29. C++中的类型萃取(type traits)及其应用。30. C++中的自定义字面量(user-defined literals)?请举例说明。最后呢祝各位同学工作顺利,关注我分享更多面试知识,嵌入式c++的同学可以看一下大佬总结的面经  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
头像
10-18 00:44
已编辑
北京理工大学 算法工程师
1.讲一下stm32的时钟系统(1) 时钟源(2)系统时钟树(3)PLL 配置(4)时钟安全系统 (CSS)(5)RTC时钟(6)时钟配置工具2.c语言中堆和栈的区别 推挽输出是什么?3.加入一个单片机上电之后不运行是为什么?4.举你用过的单片机的型号和它的一些主要参数?5.一个温度传感器模块按照正确的使用方式和参数指标对人体皮肤测量后得到的温度一直是35℃,这是为什么?6.一些结构体、联合体、sizeof方面的知识?7.对c语言功底考察比较深入8.偏硬件的话会考察电路知识比较多?9.请说一下51单片机的中断处理流程?10.485有几根线?11.串口和并口有什么区别?12.堆和栈的区别是什么?13.传感器的输出引脚是高阻抗好还是低阻抗好?14.局部变量和全局变量分别存放在哪里?15.c语言头文件的工作原理?16、潮汐是怎样形成的?17.精度和分辨率有什么区别?18.请问你对c语言的指针熟悉吗?19.解释一下const?20.讲一下can21.什么是SPI22.熟悉IIC吗?23.会用linux吗?24.有没有写过状态机?25.谈一下中断的处理流程是什么样子的?26.用过什么传感器?27.怎么选择是用51单片机还是用STM32单片机?28.如果让我设计一款系统,你会考虑什么?29.你更喜欢嵌入式软件还是嵌入式硬件?30.你对自己有什么职业规划?最后呢祝各位同学工作顺利,关注我分享更多面试知识,嵌入式c++的同学可以看一下大佬总结的面经c++/嵌入式面经专栏-牛客网  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
头像
10-16 08:50
已编辑
北京理工大学 算法工程师
我遍览群书,发现关于程序员的面试技巧,好的建议其实并不多。1.给自己写一份非常专业的简历我的建议是,如果你想增加自己的入选机会,那最好还是花点钱制作一份专业的简历。相较于你将来可能得到的巨大收获,这真的只是一个小小的投资。2.研究面试官当我联系程序员来面试的时候,我总是会事先发电子邮件给他,并附上我的名字和博客地址。但是让我惊讶的是,当我给他面试的时候,他竟然对我还是一无所知。再举个正面的例子,我在面试时也碰到过这类开发人员,甚至能对我以前写的一篇博客或者做的教学视频上面的内容侃侃而谈。你说我会推荐哪个?面试官也是人,也会有人性的弱点和特点。Dale Carnegie曾说过,要让别人对你感兴趣,最简单的方法就是你先表达出对对方的兴趣。不管这种方法是否有欠公正,但是如果你想面试成功,那么我建议你事先最好先好好研究一下你应聘的这家公司和面试官(如果知道的话)。当今社会的信息是如此的发达,我们完全可以在Facebook、Twitter、微博、博客上找到任何人的资料。即使你只是大致浏览一番,也会让你受益良多。3.获得内部推荐知道找工作最简单的方法是什么吗?那就是获得内部推荐。这不但可以增加面试机会,还能提升40%的录用几率。前阵子,我找到了一家心仪的公司。然后直接投简历?NONO,猜猜我是怎么做的吧?首先我找到一名和我有共同想法和意见的开发人员,然后开始关注他的博客。接着我在他的博客中留言、发表建议,并且表现出对他的工作和公司非常感兴趣的想法。最后我成功拿到了这个宝贵的内部推荐资格。很多程序员会说,“可是,某某某公司里面的人我一个也不认识啊”。如果你想就此放弃,那当我什么也没说,如果你愿意试试,我敢打赌,你总能想出一种方法达到你的目的。不过这有个秘诀,那就是首先你得在网上创建自己的“名片”——让别人有了解你的机会,所以do it now吧。4. 写好算法这是每一个开发人员都应该具备的重要技能,而且真要掌握起来也并非那么难。在很多面试中,都会有这样的问题,要求你在白板或者电脑上解决编程问题,但是许多程序员,即使是那些非常优秀的程序员,都会一下子大脑一片空白,完全理不出思路来。如果你能花时间学会如何解决这种类型的面试问题,那么下次再碰到这种场景,就不会这么紧张了。我们会紧张其实和怯场无关,主要是因为我们不熟悉这些问题,也没有自信能解决这种问题。在这方面建立起自信之后,你就再也不会紧张了。5.活力洋溢地回答问题只用一个字或者一句话,照本宣科平平无奇地回答问题,或许在技术上是正确的,但是你忘了应该借此机会好好展示自己的激情——这才是一个开发人员能带给团队的最大正能量。举个例子说,如果我问你什么是多态性,我不是要你按照课本中的定义重复给我听,我希望你能就这个主题阐述一下,然后我们可以更深入地聊一聊。6.小心“陷阱”问题你为什么换工作?说说你最大的优点和缺点。最近一次你是如何解决和同事之间发生的技术分歧的?在回答问题之前,你最好明白面试官问这些问题的目的,掌握如何回答这类问题的技巧。就先说说第一个问题吧“你为什么换工作?”在大多数情况下,面试官想知道的是你是否是一个爱说三道四、惯于诽谤抨击雇主的人。所以千万不要上当。7.永远不要撒谎最糟糕的事就是在面试的时候撒谎。知之为知之,不知为不知,如果你确实不知道,千万不要自作聪明来编造问题的答案。相反,你应该诚实地说,你不知道或者你并不是100%肯定,但是你愿意尝试一下,然后再讲讲自己的想法。讲完之后也可以问面试官正确答案是什么,以显示你对此非常感兴趣。实话告诉你,大多数面试官问的问题都是他们知道的问题,不然如果你滥竽充数给你通过的话就会显得他们像个傻瓜。所以千万不要抱着侥幸心理,一旦发现你在撒谎,面试官马上就会质疑你的人品。8.不要太诚实很多程序员会过多地透露自己的信息,不要以为诚实和完全透明就是最好的政策,殊不知过犹不及。第7条所说的不可撒谎诚然不错,但是我们也没必要将自己所有生活的细节和所有缺点都告诉给面试官。有个性是好的,但是如果暴露了性格缺陷就坏事了。试想一下,要是你说自己喜欢赌博或者沉迷于魔兽世界,我敢打赌,面试官肯定会重新审视你。所以在说自己信息的时候一定要慎重,因为这不但会暴露你的缺陷,还会显得你缺乏应有的判断力。9.基础知识必须牢固是的,很多程序员在面试的时候,甚至理直气壮地说,他们不知道链表和堆栈,因为他们没有受到正规教育或者早就还给老师了。我也承认我们在工作的时候是用不到那些深层次的计算机科学概念的,但是作为一个专业的软件开发人员,你至少应该知道一些基本知识。最后呢祝各位同学工作顺利,关注我分享更多面试知识,嵌入式c++的同学可以看一下大佬总结的面经  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
一面自我介绍然后简历上写了用过gdb和git随口问了我几个gdb和git的用法。然后是提问Q1:Arm汇编中bl的意思A:抱歉,arm汇编我没深入研究过,我用的平台指令集是TI自研的,但我研究过X86的汇编我推测一下。B是跳转的意思,bl的意思可能是小于跳转等于X86汇编的jl,可也能是类似x86的long jump。这个题答案是小于跳转,没答出来但是面试官说还可以。Q2:static 修饰的C语言变量存放在哪里,有什么作用A:存放在data段,不会被重复初始化。Q3:C语言变量有几种储存方式A:存放在stack data heap bssQ4:变量未初始化值是多少A:stack是垃圾值,不确定,全局变量未初始化是0.Q5: 什么是野指针A:我认为是存放了一个不应该访问地址的指针,比如free之后的指针再次访问,访问了一个未进行初始化的指针,访问了一个函数返回的指向局部变量的指针。Q6:外设和处理器交互的方式A:中断,DMA,普遍嵌入式设备的外设会被映射到地址空间中,所以可以直接通过读写被映射的地址进行交互。Q7:使用gcc编译一个hello.c的程序使用什么指令A:gcc hello.c -o hello.out反问环节:Q:工作中会比较多的使用gdb吗?A:调试会用到,看你写了所以问你一下Q:还有有几轮面试A:一般就两轮,特别优秀的三轮。二面自我介绍然后:Q1:看你简历上写了使用fft进行信号处理,讲讲吧A:我们控制这边是用来获取对象的频率响应特性的,就是使用频率成分丰富的信号作为被控对象的输入然后获取被控对象的输出,对输入输出信号做fft分析。Q2:在线还是离线A:离线Q3 简历上写了解决了cache一致性维护讲讲这个A:实验室用的DSP是八核的一款DSP,测试读写的时候发现自读自写没有问题,但是0核写1核读读取不到正确的数据,查阅芯片手册发现可能是cache的原因,写没有写入下一级的内存,读没有无效化cache。去论坛看了一下相关的帖子,然后解决了这个问题。主要通过官方提供的两条指令cache_invalid cache_writeback。读的核需要无效化cache,写的核需要writeback写到下一级。Q4:你还写了解决了多核同步问题,怎么解决的A:我用的芯片没有像X86提供原子指令,转而提供了一种原子外设,官方叫做硬件信号量,访问这个外设的时候是原子的,我模拟实现了一把spinlock 访问临界区的时候上锁。Q5:了解linux吗A:了解,增加模仿linux写过一个简易版本的操作系统内核。Q6:我看你简历上没写啊,讲讲你这个内核吧,跑在什么平台上的,都实现了什么功能A:跑在i386平台,用qemu模拟器模拟的。可以实现内存管理、进程创建、Sytemcall、进程调度还有一个简易版本的内核调度Q7:从Boot开始吧,讲讲你的内核启动过程和你实现的功能。A:i386自导bios在启动之后会从0x7c80读取第一条指令执行,所以内核需要使用链接器来修改镜像的地址。启动后会跳转到镜像entry处的地址,这是一个初始化函数,首先会进行内存的初始化,探测剩余的内存大小,申请一块地址作为page directory,然后对剩余内存按照4kb进行分割,使用链表连接,实现内存池。需要时向内核申请。我的进程创建时模仿linux fork实现的,利用的是写时拷贝技术,只创建一个新的栈,拷贝父进程的page directory的映射,但是标记页表为只读不写,如果写会触发缺页中断,然后进行相应的拷贝。调度是就是在可以准备运行的进程中挑选一个可以准备运行的进程,简单的round-robin算法,后来加入了优先级调度,利用hash-map寻找优先级最高的进程。Q8:在内存初始化中,怎么探测剩余内存的。A:镜像在bss段的最后会创建的一个标记叫做end,可以探测一个cmos管知道总共的内存大小,可以间接知道剩余内存的大小。答案附在面经中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务