嵌入式面试常见问题(七)—各大公司面试题

2023-05-16

6、深信服面试

1、简历中写了做过海思项目,问海思项目最大的难点是什么?怎么解决的。(还问了编码的原理,h264
和265的区别,如果sensor默认是720p的,我要怎么得到1080p,应该在哪里修改)
2、野指针产生原因和解决方法
3、指针函数和函数指针的区别?
4、strcpy是安全的吗,那strncpy又一定是安全的吗。手写memcpy实现的时候,需要考虑到什么问题
(需要考虑到如果原地址+拷贝的字节数大于目标地址时,会出现覆盖的问题)
5、说一下函数宏和内联函数
6、说一下什么时候用线程什么时候用进程
7、说一下C++里面虚函数的作用
8、说一下二叉树
9、C++ STL了解过吗,说一下STL各个容器的用法
10、说一下socket的内部原理
11、给出两个字符串,求最长的相同子串
12、给一个字符串,然后把这个字符串逆序
13、链表有几种,每种链表有什么区别
14、数组和链表的区别,分情况讨论一下它们的效率问题
15、说一下快排的思想,它的复杂度是多少,和冒泡排序,选择排序比起来是怎么样的
16、怎么看待加班,能接受出差吗?
17、说一下你的优点和缺点
18、说一下你对这个岗位的理解
19、说一下你未来五年的工作计划
20、你是怎么看待以后嵌入式的发展行情的
21、你觉得作为一个优秀的程序员,应该怎么做
22、说一下linux下,和文件io相关的函数
23、说一下extern关键字
24、说一下内存四区
25、说一下多进程多线程的通信方式,说一下用过哪个。
26、说一下网络编程中,在服务器这边,需要用到哪些函数,这些函数的作用是什么
27、然后问到了char a[0],也就是一个没有元素的数组,面试官把这个结合着结构体来问我,我当时
完全不懂什么意思,然后面试官说应该是我没用过,所有就跳过了。
28、说一下栈和队列的特点,如何判断一个队列是满的或是空的,如何利用栈来实现加减乘除(很经典
的一个问题)
29、有看过malloc源码吗?简单说一下malloc的原理
30、说一下你的四年大学生活

7、浙江大华面试(2)

一面(25分钟):
1、自我介绍

2、简历中写了做过朱友鹏老师的海思音视频项目,所以问了海思项目。
回答:问vi-vpss-venc模块的东西,问这些模块里面的代码有没有深入去了解过,这一块问得比较深,一
直问到底部用到的那些API的功能;
问我项目用了几个线程;有没有用到锁机制;VLC播放器也就是客户端这边,大概是通过怎么样的方式
和过程来连接服务器的;然后详细问了我项目中用链式队列构建环状buffer的点,问我的思路;

3、问我简历上的FTP项目,问遇到过什么难点。问是按照FTP协议的写代码的,还是我自己自定义协议
来写代码的。

4、你是XXX专业的,是怎么学习嵌入式的?

5、二叉树会不会?

我说之前学过,去leetcode上面刷过题,但是没有用过了。而且隔了四五个月了,基本上都忘了。平时
用得比较多的还是链表、栈和队列。

6、linux创建进程和线程的函数是什么,说一下?

回答:我把函数名字和函数的各个参数都详细地说出来了,面试官就没有深问下去了。

7、linux下进程的通信方式;说一下信号量,熟悉哪些信号量,用到哪些函数;说一下共享内存,分别
调用了哪些函数以及这些函数的功能?

8、在CS架构中,服务器是怎么样判断客户端什么时候断开连接(当read函数的返回值位0的时候,说明
对端关闭)

总结:问的问题都会,而且回答得很流畅,没有拖沓,面试难度不大,主要都是细节部分,细到包括系
统函数的参数分别是什么;然后他说他那边觉得我没啥问题了,明确告诉我会有二面,二面会在一个星
期内给通知。

二面(20分钟):

1、问很多简历上的海思项目,问你做的那个构建环状buffer部分,问得很深,几乎是从源码的角度来扣
的。

2、问死锁,怎么生成的,举个例子?

3、数组、链表什么区别?分情况讨论一下它们的效率问题?

4、数据结构学过吗,二叉树学过吗?说一下

5、虚函数解决的是什么问题?析构函数在什么时候需要声明为虚函数?

6、进程的虚拟地址有多少,物理地址和虚拟地址的关系,这两种地址是怎么建立起关系的?

7、多线程多进程的区别?

8、手上有多少offer?

最后面试官说面试通过了,七天内会有hr跟我聊薪资的。

8、海康威视面试

时间:2021.03.23,15分钟

1、TCP的包头有哪些东西?

2、数组和链表的优点?

3、线程和进程的区别?

4、说一下消息队列。

5、说一下红黑树。

6、说一下内核链表的实现。

7、说一下自己的项目中,有哪些是能提现深度思考后得到的,做出来的东西。

8、简历的项目中,那个TFP项目,如果遇到网络突然中断了,中断传输了,应该怎么办?

9、说一下断点传输文件的好处。

10、简历海思项目中,有哪些情况会导致掉帧的情况,说一下。

11、用过RTMP吗?说一下(音视频领域)

回答:海康威视和浙江大华都是中国安防的龙头企业,嵌入式软件岗位偏向于音视频的技术。

9、小米面试(2)

投递岗位:嵌入式软件工程师-BSP方向

面试时间:2021.03.29

岗位描述:

一面(30分钟) :

主要问你简历自己写的东西。

1、做一个英文自我介绍。

2、uboot启动流程?

回答:从uboot如何引导内核启动,kernel启动时怎么挂载根文件系统从头到尾说了一下。

3、面试官说通过了,进入下一轮。

二面(25分钟):
1、驱动下半部分需要做些什么?

2、C语言和C++有什么区别?比如static,malloc和new。

3、C++的三大特征说一下。

4、你C++学的怎么样?

回答:主要用C语言,不太了解C++。

5、问简历中项目实现框架和细节。

补充:

关于嵌入式方向“驱动工程师”和“BSP工程师”的区别,做了一点总结,欢迎补充。
BSP即Board Support Package,板级支持包。它来源于嵌入式操作系统与硬件无关的设计思想,操作
系统被设计为运行在虚拟的硬件平台上。对于具体的硬件平台,与硬件相关的代码都被封装在BSP中,
由BSP向上提供虚拟的硬件平台,BSP与操作系统通过定义好的接口进行交互。BSP是所有与硬件相关的
代码体的集合。

BSP在嵌入式系统中的角色,很相似于在PC系统中的BIOS和驱动程序的地位。BSP就看成BIOS+驱动或者bootloader+驱动。

BSP和驱动的区别:bsp还包括了bootloader,或者bsp是包含了cpu、电源管理这些比驱动更深层次的
硬件支持包。

1、BSP是一般是芯片原厂提供的。驱动是自己写的,比如写IIC协议驱动一个EEPROM,写一些SPI、
USB驱动等。

2、bsp是保证os启动前所作的必须工作,包括初始化工作,引导os启动起来,也包括一些用户的配置信
息。os启动后,可以认为bsp已经不再起作用了,os会调相应的驱动来重新初始化系统。驱动可以认为
是os内核中的一部分。

3、 BSP是嵌入式系统中介于硬件平台和操作系统之间的中间层软件,主要目的是为了屏蔽底层硬件的
多样性,根据操作系统的要求完成对硬件的直接操作,向操作系统提供底层硬件信息并最终启动操作系
统。BSP具有硬件相关性和操作系统相关性的特点,其主要作用包括:

(1)初始化底层硬件,为操作系统提供底层硬件信息;

(2)初始化相关硬件设备,主要是存储设备、通信设备;

(3)检测系统硬件是否正常;

(4)加载操作系统并启动系统运行。

4、BSP也称为硬件抽象层HAL或者中间层。
它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据
BSP层提供的接口开发即可。BSP是相对于操作系统而言的,不同的操作系统有不同定义形式的BSP,要求BSP所实现的功能也有所不同。在嵌入式Linux系统中,主要是初始化底层硬件并引导操作系统;同时,BSP又是和硬件相关的,还要考虑对硬件的初始化操作。这些初始化操作主要是对CPU、内存、中断等相关的寄存器及协处理器进行正确的配置。在不同的开发阶段,因为核心和文件系统所处的位置不同,BSP所要完成的工 作也有所不同;在开发调试阶段,BSP要能够与主机通信并从主机下载核心;在目标产品中,BSP要能够从非易失存储设备中加载核心。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌入式面试常见问题(七)—各大公司面试题 的相关文章

随机推荐

  • sql_外键

    一 外键的定义 1 外键是一种索引 xff0c 是通过一张表中的一列指向另一张表的主键 xff0c 使得这两张表产生关联 2 是某个表中的一列 xff0c 它包含在另一个表的主键中 3 一张表中可以有一个外键也可以有多个外键 二 外键的作用
  • 数据库事务图解

    一 基本概念 xff08 from baidu xff09 数据库事务 Database Transaction xff0c 是指作为单个逻辑工作单元执行的一系列操作 xff0c 要么完全地执行 xff0c 要么完全地不执行 事务处理可以确
  • MySQL 中判断字符串是否相等

    感谢 xff1a https blog csdn net yangfengjueqi article details 72821603 mysql 中判断两个字符串是否相等可以用 lt 61 gt 或者 61 例 但是需要注意 lt 61
  • mysql order by 多个字段及其多字段排序原则,和 order by 后跟数字

    一 order by 后跟数字 select from table order by n n 表示select里面的第n个字段 xff0c 整段sql的意义是 xff1a 查询出来的结果 xff0c 按照第N个字段排序 二 order by
  • ROS 学习1- 创建工作空间以及功能包

    一 工作空间概念 在ros中工作空间统称为workspace 是用来存放你一个工程开发需要用到的相关文件的 xff0c 在ros中它是一个带有空座空间性质的文件夹 该文件夹中通常会包含4个子文件夹 src 用来存放功能包的 build 编译
  • Linux 中echo及echo > 和echo >>

    一 Linux 中的echo指令 Shell 的 echo 指令用于字符串的输出 详见 xff1a Shell echo命令 菜鸟教程 二 echo gt 和echo gt gt echo gt 和echo gt gt 的区别详见 xff1
  • Yolov5 计算访存量MAC与计算量FLOPS

    说明 xff1a 因为yolov5函数中已经计算了 FLOPS xff0c 因此如果想要计算访存量那么只需按照flops的位置 添加访存量的计算即可 一 先记住计算量和访存量的公式 xff1a 二 找到计算FLOPS的位置 xff0c 并添
  • Yolov5 中添加Network Slimming剪枝--稀疏训练部分

    前言 xff1a Network Slimming剪枝过程让如下 1 稀疏化 2 剪枝 3 反复迭代这个过程 一 稀疏化 xff1a 通过Network Slimming 的核心思想是 添加L1正则来约束BN层系数 xff0c 从而剪掉那些
  • Pytorch children()、modules()、named_children()、named_modules()、parameters()、named_parameters()使用说明

    参考博客 xff1a Pytorch children modules named children named modules named parameters parameters 使用说明 洪流之源的博客 CSDN博客 childre
  • Gazebo执行保存世界选取文件夹时卡住不动的解决办法

    背景 xff1a 在学习ROS Gazebo仿真 xff0c gazebo中加入任意模型 xff0c 然后点击save world as然后卡死的问题一直无法解决 现象 xff1a 点save as world屏幕变暗 xff0c 无窗口弹
  • PLC的自抗扰控制(ADRC)算法

    自抗扰控制算法 网上很多文章有理论推导和讲解 大家也可以关注韩京清教授的论文和书籍 这里就不赘述了 博途PLC ADRC自抗扰控制完整源代码可以参看下面这篇文章 博途PLC 1200 1500PLC自抗扰控制 ADRC 完整SCL源代码 R
  • PLC PID优化系列之非线性参数整定(FC函数)

    nbsp nbsp 根据一般PID的响应曲线 我们可以设计更加符合响应曲线的P I D参数 这里的非线性是指参数整定方法采用非线性 并不是PID本身的算法 非线性的PID算法后面会给大家讲 包括韩京清老师提出的ADRC都属于非线性PID范畴
  • 脖子上的这个包是“夺命包”,再不重视就晚了!化解方法必看!

    生活中你有见过这样的颈椎吗 xff1f 你的亲人 xff1f 朋友 xff1f 或者是 陌生人 xff1f 这叫富贵包 xff01 这是咱老百姓起的一个吉利的名字 但是 xff0c 在中医看来 xff0c 这哪是富贵包 xff1f 这背后潜
  • ADRC自抗扰控制算法(含梯形图完整源代码和算法公式)

    ADRC自抗扰控制算法的详细解读 不是本篇博客讨论的重点 专栏有ADRC的系列学习笔记 感兴趣的同学可以自行查看 链接如下 PLC的自抗扰控制 ADRC 算法 RXXW Dor的博客 CSDN博客 adrc算法 1 自抗扰控制算法 网上很多
  • ADRC/Matlab一步步实现跟踪微分器TD(附完整PLC测试代码链接)

    TD微分器的主要作用 就是安排过渡过程 产生跟踪信号和微分信号 滤除噪声 关于Adrc的理论分析不是本篇博客的重点 主要也是能力所限 相关理论大家可以看韩京清教授的论文 专栏有简单的学习笔记 感兴趣的同学可以看看 链接如下 ADRC自抗扰的
  • SMART PLC嵌套调用级数(ADRC调用问题)

    S7 200PLC子程序和中断程序支持的最大嵌套级数分别为8级和1级 所以老款控制器中断程序调用子程序劝大家不要套娃了 只支持1级 这篇博客我们分析下ADRC算法里的调用结构问题 首先看下调用级数最深的层级 1 嵌套调用 从图中可以看出调用
  • JAVA---this关键字

    this关键字 关于java中的this关键字 this表示当前对象 this 属性 区别成员变量和局部变量 this 调用本类的某个方法 this 表示调用本类构造方法 xff0c 只能用在构造方法的第一行语句 this关键字只能出现在非
  • 嵌入式面试常见问题(一)

    为2022秋招准备 xff0c 不打无准备之仗 第一章 进程与线程 1 什么是进程 线程 xff0c 有什么区别 xff1f 进程是资源 xff08 CPU 内存等 xff09 分配的基本单位 xff0c 线程是CPU调度和分配的基本单位
  • 嵌入式面试常见问题(六)—各大公司面试题

    1 阿里面试 1 Linux系统方面 1 xff09 进程和线程的区别 xff08 不能太书面化 xff09 xff08 需要从内存角度 xff0c 或者其他角度描述 xff09 需要用自己理解的方式去回答这个问题 xff0c 如果你回答了
  • 嵌入式面试常见问题(七)—各大公司面试题

    6 深信服面试 1 简历中写了做过海思项目 xff0c 问海思项目最大的难点是什么 怎么解决的 xff08 还问了编码的原理 xff0c h264 和265的区别 xff0c 如果sensor默认是720p的 xff0c 我要怎么得到108