嵌入式软件工程师【面经:第一部分-C语言基础】

嵌入式软件工程师学习路线图 嵌入式技术关键在于理论和实践的结合,要能够学以致用,完成了以上的所有阶段的知识点学习后,到底有没有学会,会不会用,能不能应用所学知识来解决实际开发中的问题,我们需要来完成一个综合的嵌入式实训项目,例如: 基于嵌入式Linux平台实现的飞行器、 基于嵌入式Linux平台实现的智能机器人等,这些项目都综合应用了嵌入式开发当中的应用,驱动和QT开发技术。这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。3、学习嵌入式系统的构建。 阅读详情

1、关键字static的作用是什么?
这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。

2、“引用”与指针的区别是什么?
1) 引用必须被初始化,指针不必。
2) 引用初始化以后不能被改变,指针可以改变所指的对象。
3) 不存在指向空值的引用,但是存在指向空值的指针。
指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。
流操作符<<和>>、赋值操作符=的返回值、拷贝构造函数的参数、赋值操作符=的参数、其它情况都推荐使用引用。

3、.h头文件中的ifndef/define/endif 的作用?
答:防止该头文件被重复引用。

4、#include 与 #include “file.h”的区别?
答:前者是从Standard Library的路径寻找和引用file.h,而后者是从当前工作路径搜寻并引用file.h。

5、描述实时系统的基本特性
答 :在特定时间内完成特定的任务,实时性与可靠性。

实时操作系统:FreeRTOS、Vxworks、uCOS、RTLinux

非实时操作系统:Linux/Windows/OSX

6、全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
答 :全局变量储存在静态数据区,局部变量在堆栈中。

嵌入式软件工程师经典面试题(附答案)(二) 一、基本介绍 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。 嵌入式软件工程师就是编写嵌入式系统的工程师。 二、职业要求 应具备哪些能力 1.最重要的是C语言编程,以及C++,这个与你读程,应用,开发项目,做系统移植息息相关; 2.操作系统: LINUX,WINC... 阅读详情

相关推荐

嵌入式软件工程师_海康威视嵌入式软件工程师笔试题分享(含解答)

说明:本篇文章题库来源于网络,目的在于共同学习,共同进步,知识分享可以通过网络平台不断提高自己海康威视嵌入式驱动工程师的题目只包含选择题和简答题,没有编程题。毫无疑问,C语言基础题依然是最多的(c可是嵌入式的笔尖),又因为是驱动方向,所以关于Linux操作系统和底层方面的题会比较多一点,但是就题目的总体难度而言,其实并不是特别难。但如果对Linux和驱动方面不是很了解的话,会比较吃亏。选择题1、若...

weixin_39855186的博客 2810

【嵌入式面试】嵌入式经典面试题汇总(C语言)

在实际使用时,需要根据具体的需求和平台环境,实现相应的线程池类并提供适当的方法来创建、销毁和执行任务。平衡二叉搜索树(Balanced Binary Search Tree):平衡二叉搜索树是在BST的基础上进行了优化,以确保树的高度保持平衡,从而提供更稳定的性能。散列表具有快速的查找和插入性能,适用于大规模数据集。这个布尔表达式的含义是,如果地址段1(起始地址为a,长度为b)的结束地址大于地址段2(起始地址为C,长度为d)的起始地址,并且地址段1的起始地址小于地址段2的结束地址,则说明两个地址段有重叠。

weixin_42163707的博客 1万+

excel 利用SUBTOTAL函数计算筛选后数列总和、均值、最大、最小值

表里有三个人,咱们需要筛选出三个人,并分别计算他们的总和值。 先看一下数据范围(A1:B27) 通过筛选找张三。 按照上图所示输入函数,选择9,求和。 然后按照函数输入即可。 就能计算出结果。 筛选项选择王五,就会自动计算王五的总和。 筛选到李四就会自动计算李四的总和。 如果把9改成1,就是自动计算筛选出来的均值结果,如下图所示。 如果改成4就是取筛选项的最大值,选择5就是取最小值。 ...

yuanYW7556的博客 3万+

嵌入式面经

面经

W546556的博客 6197

【R语言-生存分析之观察生存率计算】

全人群肿瘤登记资料常用的统计分析指标包括发病率、死亡率、现患率以及生存率等,其中肿瘤生存率是评估肿瘤治疗效果和肿瘤负担的必要指标,其计算涉及肿瘤患者的发病、 死亡和随访三个方面的资料, 数据整理和计算过程均较为复杂, 如何及时、 准确地计算肿瘤生存率, 并使其可以在不同地区、 不同人群、不同时期间被客观公正地比较和评价,仍然是统计学家们一直在研究的主题。

weixin_46579654的博客 5440

使用Power Apps实现SharePoint Online列表的下拉菜单的级联选择

在SharePoint列表中添加数据的时候,下拉菜单的级联选择一直是一个非常实用的功能,尤其是有很多数据的情况,级联选择可以根据上一层的选择,自动过滤下一层的选择,方便用户查找和选择准确的信息。一个最常用的情景是选择供应商的地区和国家,例如有三个列表,一个是供应商所在的大洲,一个是国家,一个是供应商。当用户选择州的时候,会自动列出属于这个州的国家。避免用户迷失在大量的数据中。 这里展示一下如何在...

shrenk的专栏 7811

嵌入式软件和C/C++面经汇总

嵌入式和C/C++,linux方面的面经.(持续更新中)

昊月光华的博客 1746

vmware vsphere5---部署vCSA(VMware vCenter Server)附带第二阶段安装报错解决方案

因为这份文档我是边做边写的,遇到问题重新装了好几次所以IP会很乱ESXI主机为192.168.20.10VCSA为192.168.20.7,后台为192.168.20.7:5480后期请自行对应,后面的192.168.20.57请对应192.168.20.7,或根据自己的来。

m0_70212665的博客 5714

嵌入式C/C++面经

面经

weixin_45209331的博客 1083

Reality Capture控制点修复/合并模型

通过增加控制点/修改对齐设置参数来修复模型被分为两个部分的解决方法

草履虫建模的博客 5243

车辆横向控制MPC实战:从‘老王模型’到CasADi求解的保姆级避坑指南

本文详细解析了车辆横向控制MPC的实战应用,从经典动力学模型选择到CasADi求解器的优化配置,提供了一套完整的避坑指南。重点介绍了车辆动力学模型的验证要点、CasADi环境的高效配置技巧以及MPC问题建模的核心要素,帮助开发者快速实现稳健的横向控制方案。

weixin_42524499的博客 346

嵌入式软件工程师笔试面试指南目录

嵌入式软件笔试,嵌入式软件面试,程序员简历书写,Linux驱动工程师笔试,Linux驱动工程师面试,BSP工程师笔试,BSP工程师面试,应届生秋招,应届生春招,C/C++笔试题目,C/C++面试题目,C/C++程序员,BSP工程师

嵌入式与Linux那些事的博客 1万+

从封装到先进封装:一文讲透Chiplet、2.5D/3D堆叠与系统集成

封装是芯片产业链中连接硅片与电路板的桥梁,承担物理保护、电气连接、散热与机械支撑等核心任务。传统封装从DIP、QFP发展到BGA,通过提升引脚密度满足早期性能需求。随着摩尔定律放缓,单纯缩小晶体管尺寸难以为继,先进封装应运而生,其核心理念从“封装单颗芯片”转向“系统级高密度集成”。扇出型封装、2.5D硅中介层、3D堆叠、Chiplet和系统级封装等技术,通过微米级互连和垂直堆叠,大幅提升I/O密度与带宽,成为AI芯片、HBM存储、高性能计算等领域的关键支撑。本文梳理先进封装的技术演进、分层架构与工程难点,帮

weixin_29185167的博客 367

嵌入式软件工程师面试遇到的经典题目

嵌入式软件工程师面试遇到的经典题目1、找错误2、下面的代码输出是什么,为什么?3、C语言编译时动态链接和静态链接得区别是什么?4、C语言关键字static得作用是什么?5、分别说明一下三个变量声明得含义:6、简述TCP/IP镞包含哪些分段,每一层有哪些常用协议?7、从在浏览器地址栏中输入www.baidu.com到看到百度首页,这个过程中间经历了什么?都涉及到哪些网络协议?8、编写strcat函数9、使用C语言中的#define来定义一个常量来表示一年有多少秒?10、实现把字符串转化成整数11、写一个程序验

一只青木呀 2万+

【CAN总线测试】——通讯相关诊断测试

本章主要介绍通讯相关诊断测试用例设计

LOVE135149的博客 1815

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

嵌入式软件工程师自学之路

       我是今年(18年)毕业的大学生,专业是物联网。目标是成为嵌入式软件工程师。 当时误打误撞的选择了这个专业,在学校也没有充分认识到未来的方向,所以浪费了 大学宝贵的学习时间及其丰富的学习资源。毕业后接触到现实的社会,总感觉未来很茫然, 想着还是利用大学的培养计划,工作之余实现一个自己的小目标!      以下是我目前为自己定制的学习计划: 《嵌入式软件工程师》 1、C语言基础方向和高...

caoj_huangy的博客 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

oppo和海康嵌入式软件工程师面经总结

文章目录海康一面(3.23,35min)自我介绍项目介绍你做的这个项目遇到了那些问题,如何解决的?移植uboot,只做了移植吗?用的那个文件系统?移植过程中,网卡驱动做了那些工作?写过那些驱动,讲一个你熟悉的?写驱动过程中,遇到过什么问题,如何解决的?对网络设备驱动有了解吗?你有什么想问我的?HR面(3.30,25min)自我介绍作为北方人,你对南方的饮食,气候习惯吗?为什么写博客?读研也挺忙的,写博客不会影响你日常工作吗?团队协作能力怎么样?举个例子?周围的人是如何评价你的?三个词概括你自己签约答疑(4.

嵌入式与Linux那些事的博客 6518

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

嵌入式软件开发工程师面试指南_总结

struct ages { int age1; int age2; int age3; }; struct ages age; 分析总结:在这个示例中,数组比结构体好。但是不能得出结论数组比结构体好,在元素类型不同时只能使用结构体而不能使用数组。 struct pople { int age; //年龄 int name[20]; //姓名 int height; //身高 }; struct ages age; ...

子羽丿_的博客 9352

嵌入式软件工程师学习路线

大家选择学习嵌入式,最后是都要做嵌入式相关工作的,所以在学习的时候真的要用心,如果你三心二意的话,那么很可能就学不好嵌入式了,因为嵌入式的确很难,不过,下面可以先来了解下嵌入式软件工程师学习路线,对你学习还是有帮助的。 嵌入式软件工程师学习路线 1、打好嵌入式软件编程的基础 这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常用命令、C语言编程基础、常用的数据结构。 特别是C语言中对指针的理解和应用。这一阶段的主要目的是学习编程语言、开发环境、和培养自己的编程思维,

hqyjzsb的博客 1万+

面经——嵌入式软件工程师面试遇到的经典题目

摘自:嵌入式软件工程师面试遇到的经典题目 作者:一只青木呀 发布时间: 2020-11-04 23:43:16 网址:https://blog.youkuaiyun.com/weixin_45309916/article/details/109499825 嵌入式软件工程师面试遇到的经.

zhuguanlin121的博客 3876

嵌入式软件工程师是干啥的?

当今社会已经进入知识大爆发的年代,各种智能化设备层出不穷,软件开发成为当前最受追捧的技术,我们首先从了解嵌入式软件工程师开始吧!

WenDao_Engineer的博客 5万+

嵌入式软件开发工程师与FPGA开发工程师

我是一名初入职场的萌新,工作不久从嵌入式软件工程师转到了FPGA工程师,这篇文章简单讲讲两者的区别。 嵌入式软件工程师无非分为两大类,在Windows平台下做嵌入式软件开发和在Linux平台下做嵌入式软件开发,我起初是在Windows平台下基于STM32做小型电机的软件控制,语言方面需要掌握C或python或java等软件语言,这里推荐一个快速学习语言的网站——菜鸟教程https://www.runoob.com/。在Linux平台下做嵌入式软件开发主流是基于Ubuntu系统,推荐大家在优快云上多问多学

ProNeverFake的博客 7476

一名初级嵌入式软件工程师该学什么?初级嵌入式软件工程师入门学习路径推荐

本文主要介绍了一名初级嵌入式软件开发工程师比较常规的学习路径,并对每一个要学习的内容进行了详细介绍,且用恰当比喻让内容更加通俗易懂

qq_57568928的博客 1677

话说嵌入式软件工程师的工资待遇

话说嵌入式软件工程师的工资待遇 嵌入式软件工程师 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。 嵌入式软件工程师就是编写嵌入式系统的工程师。 嵌入式软件

qianrushi1234的专栏 6668

嵌入式硬件工程师与嵌入式软件工程师的区别(详细版)

随着嵌入式技术的不断发展,嵌入式硬件工程师的角色已经发生了显著变化。嵌入式硬件工程师与传统的硬件工程师有所不同,除了具备硬件设计的基本技能外,还需要涉足一部分软件工作。底层驱动的开发:包括开发设备驱动程序,确保硬件与操作系统之间能够有效通信。嵌入式操作系统的裁剪和移植:根据项目需求定制操作系统,移植到目标硬件平台上。GUI与文件系统的移植:负责图形界面和文件系统的集成,使系统能够以更直观的方式与用户交互。基于操作系统的底层驱动设计。

qq_46187594的博客 9308
上一篇: 虚基类的简单应用【C++程序设计】
下一篇: 嵌入式软件工程师【面经:第二部分-指针】
蓝莓派Alex
博客等级 码龄15年 147粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值