24届非目标无经验-C面经-C++面经-嵌入式面经-华OD

  • 背景

24届人工智能专业,非目标院校,考公失败,春招拿到过offer,但是工作环境原因拒了。毕业之后有找过专业相关的工作,但是人工智能算法相关的工作门槛太高,投了都没反馈。于是想找计算机其他方向的工作,考虑测试或嵌入式。想着尽快入职,就培训了四个多月,到12月中旬。这几个月的学习,一直刷力扣题,刷基础数据结构算法。网上了解到华为OD,然后经过同学的推荐找了栗栗姐。因为在学校的时候刷了一些算法题,所以重新复习起来也比较快,就是在力扣上刷一些经典题。12月底联系了栗栗姐,开始刷题面试,最后顺利拿到offer。

  • 机试

1、静态代码扫描服务

2、最大矩阵和

3、攀登者

考试的时候不要紧张,正常心态写代码才能思路清晰哈哈哈哈。

  • 综测(心理测评)

综测按照栗栗姐发的注意事项选择,注意性格积极,团队合作,性格选择保持前后一致即可。

  • HR资格面试

正常来说是不会挂的。资格面试就问相关的基本情况核实一下。整个过程大概20来分钟。没多久就得知资格面过了。

1、自我介绍

2、为什么选择base地(外地人),工作地点是否能接受

3、问四六级情况,大四到现在的经历,大学期间有没有参加过相关比赛,

4、期望薪资待遇

  • 技术一面(1h)

首先是自我介绍,接着就是手撕算法,很简单的一道题,写一个函数实现两个二维数组求和然后返回就好了,大概十多分钟就写完了,然后就是面试官的一些提问,感觉面试官还挺好的,都是循序渐进的问一些问题。

1、学校经历

2、空窗期在做什么

3、基本数据类型有哪些,你以往使用的那些比较多,举例一下你使用它们的场景

4、举例几个排序算法,它们的优点。

5、中断处理的流程

6、堆和栈的区别,举例一下

7、把你这个项目总体介绍一下还有你负责的模块和完成的工作简单说一下

8、说一下你对UDP、TCP的理解

9、你这个项目里面,用的哪一种传输协议?

10、你这个项目里面的音视频传输粘包问题你怎么解决?

  • 技术二面(1h)

我是先技术二面然后才一面。二面面完觉得总体还可以。流程还是面试官自我介绍,我自我介绍,就着我的简历问了35分钟,手撕代码15分钟,手撕代码结束后时长不到1h所以又问了10分钟。从项目到八股文,我觉得问的还是比较细。

项目经验

1、让我介绍简历里的项目的背景,需求。

2、你说你了解xxx这几个通讯协议,你说一下CAN和SPI的区别?

3、你有用SPI具体做过什么吗?

4、那你有源代码?都从哪里来的?

5、说一下Linux下怎么设计低功耗的嵌入式系统?

6、说一下你这个手表的定时器模块具体怎么做的?

7、你这个手表有用过什么来调试吗?硬件调试?

8、你这个项目的开发周期?项目指标?人员构成,大概多少人?

9、介绍一下你这个项目里面的V4L2框架

10、你使用基于freeRTOS的任务调度,优先级分配。你这个优先级是怎么分配的?依据是什么?

八股文

1、说一下一个嵌入式系统最基本的组成?

2、你对数据结构有了解吗?

3、链表和数组的区别?

4、有哪些查找算法?它们各自的优点和使用场景

总的来说二面面试时间比较长,问题也不少,还是需要准备充分,特别是简历上写的项目要好好准备。

  • 主管面

和资格面试差不多,但多了一些基础的技术问题,不会问的很细。聊聊企业文化之类的,开始还是自我介绍,为什么来base地,再简单问一下个人情况,和面试官聊聊天,大概20分钟面试就结束了。

  • 准备心得

我个人觉得机试特别重要,最好拿高分,非目标院校机考尽量高分才有机会,实在没办法可以暴力破题,一切看通过率决定分数的。

技术面试的代码题一定要做出来,可以多刷刷力扣,简历上自己写的技术栈项目一定要熟悉,有些面试官侧重简历上写的东西展开问。

  • 总结

非常感谢栗栗姐的帮助,无论是白天还是黑夜,工作还是放假找她,她都在线,也会及时回复我的信息,这点让我很感动。有考虑OD的可以找她,不用担心HR失联不回信息等问题。

#内推##华为od##华为OD##后端##面经#
全部评论

相关推荐

这几天在小看一下 Freertos ,了解了内存管理、任务调度、同步互斥、队列及信号量的一些小玩意,写一下小总结:在内存管理方面,Freertos 感觉就是比较灵活,有五种内存分配。每种策略都有不一样的适配场景,像 heap_1 适用于不需要内存释放的简单应用,能在资源受限的小型嵌入式设备中稳定运行;heap_5 则支持动态内存分配,可以管理多个不连续的内存块,对于内存需求复杂多变的系统就比较适用。​任务调度机制是 Freertos 实现多任务高效运行的关键。其中,时间片轮转调度模式按照固定的时间片长度,让处于同一优先级的多个任务轮流获得 CPU ,避免了某一任务长期占用资源的情况;而优先级抢占调度模式则相当于给高优先级任务开小门,当高优先级任务就绪时,能立即打断当前正在执行的低优先级任务,抢 CPU 资源,这种机制保障了系统对紧急事件的快速响应。​同步互斥机制中,就是信号量和互斥锁嘛。信号量本质上是一个具有计数功能的内核对象,它可以用来表示可用资源的数量,信号量还分为二进制和技术型信号量,当多个任务需要访问有限的共享资源时,信号量能有效控制任务的访问顺序和数量,防止资源竞争导致的错误。今天做了个小实验就是小车通行证的,我这里就不多说了,这个方法比较好理解。互斥锁是专门针对优先级反转问题设计,当低优先级任务有着高优先级任务所需要的资源时,互斥锁会将低优先级任务的优先级临时提升至与高优先级任务相同,等到资源释放后再恢复原优先级,这样就可以避免高优先级任务因为等待低优先级任务而被延误的情况,确保了系统的优先级秩序和实时性能。​队列是 Freertos 中任务间通信的东西。它采用先进先出(FIFO)的默认数据处理方式,同时也支持按消息优先级进行排序,满足了不同场景下的数据传递需求。队列可以传递各种类型的数据,不管是简单的整型变量、字符,还是复杂的结构体、指针,都能通过队列在任务间安全、可靠地传递。而且,队列具有异步通信的特点,发送任务和接收任务无需同步等待,发送任务将数据放入队列后即可继续执行其他操作,接收任务在需要时从队列中获取数据,这种特性可以提高了任务间协作的灵活性。​信号量在同步互斥中除了作为资源计数器,还能用于任务间的同步。比如说,在中断服务程序中,当某个事件发生后,可通过释放信号量的方式通知等待该事件的任务,任务在获取到信号量后就知道事件已发生,从而执行相应的处理操作(这里举例就是占厕所,a上厕所,b就上不了,a上完释放信号量厕所可以上了,b去上),实现了中断与任务、任务与任务之间的有效同步。​
点赞 评论 收藏
分享
评论
4
17
分享

创作者周榜

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