嵌入式软件面试总结

2023-05-16

背景

先说说本人的背景,我,一个大专人,从事嵌入式开发两年了,之前在一家公司是负责单片机和物联网开发的。2020年年底我选择了裸辞(主要想出去玩)。直到春节结束后,出来找工作。

我的技术栈:单片机(51、stm32)、freertos、MQTT,懂硬件。

关于面试题

首先,每一家的公司方式面试不一样, 前一晚先复习一些C语言基础,我面试的公司有十几家,出的题基本上是大同小异,参考下面的链接:

嵌入式C语言基础(转载)
STM32尝试(转载)

上面两套题是好经典的,我面试了十几家公司,有三分之一都在里面出题。不过,前提是你首先得有个底子,会变通。

然后提前半个月刷一下 leetcode,找找写代码得感觉。主攻《剑指offer》。

嵌入式通讯协议

数据结构在嵌入式占的比例往往是一小部分,面试官更加看重的是具体的实际项目经验。一些基本的通讯协议,比如I2C、SPI、UART,把那些时序图、细节都得记好,我是吃过这个亏的,虽然面试官不会叫你手撕I2C协议,但是他会问的很细很细,比如说应答信号的时候SDA的电平是怎么变化的,答不出来就尴尬啦。

我下面对一些常用的协议做一个总结

  1. I2C
    (1)半双工模式。
    (2)起始信号 SCL高电平期间 SDA产生下降沿。
    (3)ACK应答信号 SCL高电平期间 SDA保持低电平。
    (4)NACK应答信号 SCL高电平期间 SDA保持高电平。
    (5)数据流 起始信号 +从机地址 + 发送数据标志位 + 应答信号+ 数据 +接收数据。。。应答信号+结束信号。
    (6)空闲信号 SCL SDA 都位高电平。
    (7)结束信号 SCL位高电平期间 SDA给一个上升沿信号。

  2. SPI
    (1)高速全双工的同步通讯总线
    (2)4根总线 分别是

  		 MISO 主设备数据输入,从设备数据输出
  		MOSI 主设备数据输出,从设备数据输入
  		SCLK 时钟信号,由从设备产生
  		CS 片选信号 由主设备控制 拉低设备CS线才可以进行读写设置,

(3)SPI的四种操作模式 模式0 模式1 模式2 模式3 他们的区别是?

CPHA 第一个跳变沿和第二个跳变沿 读取数据。
CPOL 0和1决定时钟空闲电平。

(4)硬件SPI和软件SPI的区别有哪些

硬件SPI效率比软件SPI效率要高 硬件SPI是直接读取寄存器的,软件
需要模拟时钟拉高拉低,但是硬件的看其设备有没有支持,软件的话一般IO口都可以用。

(5)缺点 没有应答机制 只支持单个主机

碰壁总结

  1. 作为一个大专人,学历是最大的阻碍,有时候说统招本科的时候,是挺大打击的。如果你也是大专人,个人感觉还是得弄一个本科证,专升本也好。起码有一个面试机会,个人感觉这个行业大多数都是能力大于学历的,但是学历往往是一个敲门砖,你再吊,人家就觉得你是个大专人,拒之门外。残酷!
  2. 提前总结一个你认为最屌的项目,然后介绍的时候稍微加大幅度的总结,面试的时候很有作用。
  3. 嵌入式因为涉及到产品量产,很多公司都是单休,但是个人觉得,单休千万千万要慎重,毕竟这篇文章,是因为我现在的新公司的双休的时候周末写的。单休基本没有有空写博客,甚至没有空学习新技能提升自己。
  4. leetcode建议每天一道,真的真的很有用,没时间的话每天一道题解。数据结构天下第一。
  5. 学习,学习,学习!!!!!!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌入式软件面试总结 的相关文章

  • 数据结构与算法--01数组:为什么大多编程语言中数组从0开始编号?

    数据结构与算法 01数组 xff1a 为什么很多编程语言中数组从0开始编号 xff1f 一 数组特性二 数组访问越界问题三 数组与容器四 回到开篇五 总结 一 数组特性 1 数组本质上是一种线性表数据结构 xff0c 用一组连续的内存空间来
  • 数据结构与算法--02链表-如何轻松写出链表代码

    数据结构与算法 02链表 如何轻松写出链表代码 写好链表并不是件容易的事情 xff0c 尤其是一些复杂的链表操作 xff0c 如链表反转 有序链表合并等等 即使能够写出代码 xff0c 但及其容易出错 所以付出一定量的精力是前提条件 xff
  • QT for Windows安装配置总结及采坑问题汇总

    QT for Windows安装配置总结及采坑问题汇总 一 安装包下载二 安装三 Qt Creator配置四 遇到的问题 一 安装包下载 1 Qt官方下载地址 xff1a http download qt io archive qt xff
  • IOS系统历届版本大回顾(<iOS7)

    APPLE xff0c 一种常见的水果 xff0c 但在人类的进化史上扮演了2次拯救世界的角色 第一次是在1666年一个夏末的傍晚 xff0c 在英格兰林肯郡的乌尔斯索普 xff0c 当一个年轻人坐在树下 xff0c 埋头读书的时候 xff
  • 总结-虚拟机安装OS X系统步骤及遇到的问题

    一 安装步骤 1 创建一个文件夹 xff0c 用于向虚拟机系统共享文件 xff0c 如 xff1a work 2 下载好所需的安装包 xff1a a VMware虚拟机安装包 xff08 包含unlocker软件 xff0c 用于解锁VMw
  • Git-回退到指定版本

    Git 回退到指定版本 1 方法一 xff1a git reset2 方法二 xff1a git commit amend 1 方法一 xff1a git reset 直接回退到指定版本 xff0c 目标版本之后的提交将被删除 情况一 xf
  • 我的2011--快乐最重要

    呵呵 xff0c 听着郭德纲和于谦老师的相声 xff0c 开始写这篇文章 xff0c 刚毕业不到六个月 xff0c 就换了一份工作 xff0c 很多事情都在意料之外 xff0c 很多事情又在意料之中 xff0c 总之 xff0c 以后回忆到
  • 如何在github的wiki中添加新的图片

    本文简单介绍在github的wiki中添加新的图片对方法 在github的wiki中 xff0c 可以展现图片 xff0c 可是 xff0c 怎么添加图片 xff0c 从网页上展示的信息来看 xff0c 不是很清楚 添加图片 xff0c 基
  • iOS-AppStore上传应用更新之——Xcode上传ipa

    iOS AppStore上传应用更新之 Xcode上传ipa 一 App Store Connect添加新版本配置二 Xcode验证IPA有效性三 生成IPA包 xff0c 通过xcode直接上传至AppStore四 注意事项 好久没有打包
  • CSDN博客搬家至掘金

    博客搬家说明 xff1a 作为一名程序员 xff0c 掘金是目前最适合我们的一个平台 xff0c 所以决定将CSDN博客搬迁至掘金 xff01 CSDN是我第一个接触的博客平台 xff0c 你将成为我最美的回忆 xff0c 永远爱你 xff
  • 机器人学习之项目- Project1 : Go Chase it!(一)

    1 项目简介 任务概述 在这个项目中 xff0c 在catkin ws src中创建两个ROS包 drive bot和ball chaser 下面是设计机器人的步骤 xff0c 把它安置在一个设定的世界里 xff0c 并编程让它追逐白色的球
  • R6002-floating point not loaded 的问题解决方法

    最近项目的要计算浮点数据 xff0c 为了调试方便 xff0c 输出计算结果值到DEBUG信息 xff0c 结果却出现 R6002 错误 Google了一下 xff0c MSDN上对于R6002的描述信息是 xff1a 错误消息 未加载浮点
  • Eclipse 创建spring Boot 项目pom.xml报错处理

    1 最首先检查版本问题 xff0c 需要的话更新maven插件 点击help Install New Software Work with输入如下地址 https otto takari io content sites m2e extra
  • python如何查看函数或者模块的源代码

    查看函数的源代码 xff1a 一般来说 xff0c 一个python函数会自带一个 code 变量 xff0c 其中包含了该函数源码的文件路径 以 os path exists 函数为例 xff0c 打印它的源代码文件位置 xff1a im
  • SUN RGB-D数据集的理解

    SUN RGB D数据集是普灵斯顿大学的 Vision amp Robotics Group 公开的一个有关场景理解的数据集 官方介绍在此 xff0c 其中有视频介绍 视频介绍已经很详细了 xff0c 建议先看懂视频 此博客仅仅列出个人认为
  • ORB_SLAM2--源码编译

    前言 学习ORB SLAM2 xff0c 从编译源码开始 ORB SLAM2的github地址 https github com raulmur ORB SLAM2 一 准备工作 1 安装依赖库 sudo apt install cmake
  • ORB_SLAM2的单目SLAM提高关键帧的个数

    一 前言 最近在结合ORB SLAM2和Map2DFusion xff0c 来做无人机航拍视频建图 xff0c 基本完成了pipeline xff0c 但发现出来的效果没有Map2DFusion官方的效果好 xff08 第一张图是我自己处理
  • fmt报错

    在编译Map2DFusion时 xff0c 遇到fmt报错的问题 xff1a home user01 ZhengJiafang Map2DFusion src Map2D cpp 23 usr local include sophus co
  • android4.0新控件Switch方法解析

    就是很像开关的那种控件 xff0c 它只有两个状态 xff1a on和off xff1a 在IOS中 xff0c 有个UISwitch控件 xff0c 其效果图 xff0c 如下 xff1a 在android4 0里面 xff0c 添加了一
  • 视觉SLAM融合GPS尝试

    一 前言 最近在做无人机建图的相关工作 xff0c 基本的方案是ORB SLAM2 43 Map2DFusion 在调试好代码后 xff0c 我利用大疆精灵4在附近的一个公园进行算法测试 xff0c 得到的效果图如下 xff1a 但在一些细

随机推荐

  • python读取与保存图片的exif信息

    图片的exif文件格式中保存了很多信息 xff0c 比如GPS经纬度 xff0c 高度 xff0c 焦距等信息 在图片的属性中可以看到这些信息 xff1a 我们可以使用python来进行exif数据的读取和保存 1 首先安装piexif p
  • ROS深度图转化为点云

    自己编写C 43 43 的ROS代码 xff0c 订阅D435i深度图像 xff0c 转化为点云数据 xff0c 并发布出去 说明 xff1a D435i本身就可以输出点云 xff0c 不需要自己编写代码 本博客的目的是通过自己编写深度图转
  • 大疆校招测评题--循环赛问题

    笔者在2022 7参加了大疆的测评题 其中有道循环赛问题 xff0c 记录下解题思路 循环赛问题 六名选手A B C D E F进行循环赛 每两名选手间比赛一次 xff0c 每名选手每天比赛一场 五天内完成循环赛 已知 xff1a 第一天C
  • Ubuntu22.04安装libudev-dev时的Bug

    新安装了Ubuntu22 04 xff0c 然后安装libudev dev xff1a sudo apt install libudev dev 发现了非常奇怪的事情 xff1a 正在读取软件包列表 完成 正在分析软件包的依赖关系树 完成
  • python爬虫教程——科研向

    引言 在科研中 xff0c 有时需要爬取网站上的文本数据 xff0c 用于统计分析 xff0c 或是制作机器学习所用的数据集 举个例子 xff0c 假如我们需要在世界野生鸟类声音网XenoCanto中 xff0c 爬取网站上的鸟类声音标签信
  • Ubuntu18.04虚拟机下安装opencv

    内容提要 xff1a 此文主要讲在Ubuntu18 04虚拟机下通过编译源码的方式安装opencv 一 首先 xff0c 安装VMware Workstations vmware下载渠道很多我是通过360软件管家下载的 安装过程默认就好 x
  • 笔记本Ubuntu18.04安装NVIDIA驱动,配置darknet环境,并跑yolov3例程(完全过程记录)

    前言 xff1a 我的笔记本电脑显卡为GTX 1050 xff0c 想利用它跑深度学习 xff0c 但是配置环境时遇到了好多问题 前前后后重装了十几次ubuntu xff0c 一个一个试网上的问题解决方案 xff0c 最终把环境搭好了 说多
  • Win7安装Ubuntu1804双系统

    靖哥哥我平时使用ubuntu不多 xff0c 所以都是在虚拟机安装ubuntn 不过因为有一次物理机强制关机 xff0c 导致虚拟机文件损坏 xff0c 此后再使用虚拟机时 xff0c 常遇到死机的情况 xff0c 所以琢磨一下安装双系统
  • C++编译之make cmake bazel模板

    前面文章介绍了C 43 43 编译过程 xff1a 预处理 编译 汇编 链接 xff0c 内容比较简单 xff0c 只要会使用命令行 xff0c 就能根据文章的内容实践操作 xff0c 直观的了解编译全过程 一个项目往往不只一两个cpp文件
  • android之Fragment(官网资料翻译)

    Fragment要点 Fragment作为Activity界面的一部分组成出现 可以在一个Activity中同时出现多个Fragment xff0c 并且 xff0c 一个Fragment亦可在多个Activity中使用 在Activity
  • 个人面试经历经验谈

    到昨天接到金蝶得Offer xff0c 我想我为期三个星期的找工作面试之旅应该是告一段落了 原以为接到Offer会有点高兴 xff0c 但是一回味这三个星期的起起落落 xff0c 便实在是高兴不起来 xff0c 虽然手上有好几个Offer可
  • linux 查看端口占用情况

    1 查看系统端口 netstat anptl显示所有正在监听的端口 2 刷选某个端口 netstat anptl grep 39 3350 39 3 查看占用端口的应用程序 ps lt PID gt 下图中可以看到端口8080 的PID 6
  • eclipse tomcat部署项目开发环境修改访问路径

    eclipse tomcat部署项目开发环境修改访问路径
  • 欢迎使用CSDN-markdown编辑器

    欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来 xff0c 用它写博客 xff0c 将会带来全新的体验哦 xff1a Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传
  • PLSQL 11 注册码

    PLSQL 11 注册码 注册码 xff1a Product Code xff1a 4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz serial Number xff1a 601769 password xff1a x
  • ORA-28000: the account is locked-的解决办法

    ORA 28000 the account is locked 第一步 xff1a 使用PL SQL xff0c 登录名为system 数据库名称不变 xff0c 选择类型的时候把Normal修改为Sysdba 第二步 xff1a 选择my
  • IOS中bootstrap-select 动态加载的下拉框点击不展示(已解决)

    问题描述 bootstrap select 动态加载的option 在安卓浏览器中能点击后展示 但是在ios浏览器中点击没反应 发现原因 在重新渲染方法后加了一行 s e
  • S7-PLCSIM 无法找到STEP 7 V15 许可证(必须在此计算机上安装STEP V15应用程序)。-----(已解决)

    已经安装过step7 并且已经授权过了 xff0c 但是启动时提示下图错误 记得右键已管理员身份运行
  • 新建springboot项目, pom.xml报错 Unkown error 解决思路

    新建项目pom xml 报错 网上解决思路 xff1a 1 大多都是项目右键 Maven Update Project 选中Force Update of Snapshots Releases 进行强制更新 2 1 5 改成了2 1 3 修
  • 嵌入式软件面试总结

    背景 先说说本人的背景 xff0c 我 xff0c 一个大专人 xff0c 从事嵌入式开发两年了 xff0c 之前在一家公司是负责单片机和物联网开发的 2020年年底我选择了裸辞 xff08 主要想出去玩 xff09 直到春节结束后 xff