文章目录

  • 01 - 笔试内容
  • 02 - 总结

返回导页:导页

01 - 笔试内容

编程题小白选择用纯C语言编程,所以什么都得自己做,除了基础库,没有引用其它库,数值转换要注意边界问题,也就是最大最少值也要转换成功,链表题注意指针指向问题

不定项选择题,答案可能有多个,谨慎选择
1.一个32位数据类型的数0x1234567,以小端模式,存储到0x2001~0x2004地址中,在地址Ox2002上存储的数值是

  • 0x45
  • 0x23
  • 0x34
  • 0x56

2.使用GCC编评器,在32位平台中,有如下定义的结构体:
struct Astruct{
char a;
char b;
int c;
}attribute_((packed));
请问sizeof(struct Astruct)为多少

  • 7
  • 8
  • 6
  • 5

3.关键词virtual不能用干修饰

  • 构造函数
  • 成员函数
  • 析构函数

4.c++的虚函数表有多少个?

  • 所有类的对象实例共用一个
  • 每个类有一个
  • 每个对象实例有一个
  • 整个程序共用一个

5.C语言中,malloc函数申请到的空间存储在哪个位置

  • bss段
  • 栈区
  • 堆区
  • data段

6.预防死锁的编程原则正确的有

  • 在持有锁的临界区调用用户提供的代码
  • 使用固定顺序加锁
  • 使用层次锁
  • 避免嵌套锁

7.一个频率为2000Hz的方波,占空比为40%,一个周期内低电平的宽度为

  • 200us
  • 800ms
  • 300us
  • 200ms

8.声明一个指向含有10个元素的数组的指针,其中每个元素是一个函数指针,该函数的返回值是int,参数是int*,正确的是

  • int((int*)[10])*p
  • 其他所有选项都不正确
  • (int *p[10])(int*)
  • int (*(*p)[10])(*int*)
  • int [10]*p(int*)

9.指针和引用的说法,以下正确的是

  • 引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用,而指针在任何时候都可以改变为指向另一个对象
  • 引用的创建不会调用类的烤贝构造函数
  • 引用在创建的同时必须初始化,而指针在定义的时候不必初始化
  • 不存在NULL引用,而指针则可以是NULL

10.下列哪些STL容器通常是由红黑树实现的?

  • deque
  • unordered_map
  • map
  • set

11.使用gcc test.c -o test命令生成的文件是

  • 编译后的汇编代码文件
  • 编译后的目标文件
  • 可执行程序
  • 预处理后的C源代码文件

12.在单循环的嵌入式系统中,使用一个全局恋量在中断函数和main函数之间传递数据,为了避免数据错误,可以采用如下做法()

  • 可可用const修饰此全局变景
  • 可以用volatile修饰此全局变最
  • 可以用static修饰此全局恋量
  • 可以用static const修饰此全局变量

13.关于单例模式和全局变量的描述,正确的是

  • 单例类的构造函效必须为私有
  • 如果单例类从未使用过,那么就不会创建它的对象
  • 单例类的析构函数必须为私有
  • 单例类必须提供一个静态方法以供全局访问

14.以下嵌入式中断,描述正确的是

  • CPU使用率高,不用循环等待
  • 响应速度快
  • 可以强行打断原有程序的执行,从而实现CPU的抢占式调度
  • 中断函数可以添加500ms延时的操作

15.以下语句有赋值作用的是

  • a+1
  • ++a
  • a*=b
  • a++

16.哪个命令用来卸载一个内核模块?

  • rmmod
  • unmod
  • modprobe
  • delmod

17.若要使用进程名来结束进程,应使用()命令

  • ps-d
  • profree
  • psfree
  • kill

18.char str[20]="0123456789”;
int a=strlen(str);
int b=sizeof(str);
a,b的值分别是

  • 10,20
  • 10,4
  • 4,20
  • 4,4

19.对所有用户的变量设置,应当放哪个文件下?

  • /etc/profile
  • /etc/skel/.bashrc
  • ~/bash_profile
  • /etc/bashrc

20.下面哪种写法表示如果cmd1成功执行,则执行cmd2命令?

  • cmd1 || cmd2
  • cmd1 | cmd2
  • cmd1 & cmd2
  • cmd1 && cmd2

编程题,纯编辑器,没有测试环境
21.要求实现下面的函数,自行实现字符串转整数,给定一个字符串表示的10进制整数(大小在int类型的范围内),转换成n进制的整数(2<=N<=36),如果转换失败,函数返回“Error"。
char* radixConvert(const char *num,const int n);
示例输入:“10”,2,调用radixConvert(“10”,2),返回:“1010"

char* radixConvert(const char*num, const int n)
{//开辟int flag = 1;int data = 0;int i = 0;int t,k;char c;char *ret = (char*)malloc(sizeof(char)*33);memset(ret,0,sizeof(char)*33);strcpy(ret,"Error");//入口判断if(NULL == num || n<2 || n>36)return ret;//正负判断if('-' == num[0]){flag = -1;++i;}//转为整数while(num[i]){//合法字符if(num[i] >= '0' && num[i] <= '9'){data = data*10 + (num[i] - '0');++i;}//非法字符elsereturn ret;}//如果是0,特殊处理,直接返回if(0 == data){ret[0] = '0';ret[1] = '\0';return ret;}//如果不为0,计算进制i = 0;while(data){t = data % n;if(t < 10){//正负判断,用于处理最小值if(t >= 0)ret[i++] = t + '0';elseret[i++] = -t + '0';}else{ret[i++] = t + 'A' - 10;}data /= n;}if(-1 == flag){ret[i++] = '-';}//添加结束标志ret[i] = '\0';//反转k = 0;--i;while(k<i){c = ret[k];ret[k] = ret[i];ret[i] = c;++k;--i;}return ret;
}

22.电视机提供了喜爱节目功能用于收喜欢观看的节目。在喜爱节目功能中,为了更好的满足用户习惯,我们根据用户播放节目的次数,动态修改喜爱节目的排列顺序。
规则为:
(1)节目每被选播一次加1权重分;
(2)喜爱目列表按权重分由高到低排序;
(3)选播节目时,系统均会调用一次动态排序函数UpdateFavChannel,进行权重分更新和节目重新排序功能。
数据结构如下:
typedef struct_Favchannel
{
int ChannelNo;//节目编号
unsigned int FavPoints;//权重分
struct Favchannel *next;
}FavChannel;
函数名:void UpdateFavChannel(FavChannel*pFavHead,int ChannelNo);pFavHead为指向喜爱节目列表头指针(单向链表,里边的节目已经按从大到小排好序,表头无数据),ChannelNo表示选播的节目编号。

void UpdateFavChannel(FavChannel *pFavHead, int ChannelNo)
{if(NULL == pFavHead)return ;FavChannel* prev = pFavHead;FavChannel* curr = pFavHead->next;FavChannel* target = pFavHead->next->next;int t;unsigned int k;//寻找targetwhile((NULL != target) && (target->ChannelNo != ChannelNo))target = target->next;//没有则返回if(NULL == target)return;else{//加权重target->FavPoints += 1;//如果本来就在列头,特殊处理,不需要排序if(target == pFavHead->next)return ;else{//开始排序,寻找插入目标while((NULL != curr) && (curr->FavPoints >= target->FavPoints)){prev = curr;curr = curr->next;}//如果找到,而且不是target指针,就交换位置//交换两个项的值,无需移动指针if(NULL != curr && prev != target){t = curr->ChannelNo;curr->ChannelNo = target->ChannelNo;target->ChannelNo = t;k = curr->FavPoints;curr->FavPoints = target->FavPoints;target->FavPoints = k;}}}
}

02 - 总结

  • 基础知识涉及C、C++、Linux、嵌入式相关、操作系统以及数据结构,需要好好复习
  • 纯编辑器写代码一定要自己用笔纸试验整个过程,没有测试环境,太容易出错

返回导页:导页

【笔试】CVTE视源2019秋招补录嵌入式岗位面经相关推荐

  1. 百度秋招补录前端一面面试

    百度秋招补录前端一面面试 项目遇到的问题以及解决方案 大数据除了用.bigint还有其他方案吗? vue的双向绑定原理 vue2.0 和 vue3.0 的数据劫持 vue3.0的改变有哪些 keepa ...

  2. 度小满前端开发秋招补录面经

    度小满前端开发秋招补录面经 2021/1/15 时长:42分钟 vue的computed 和 watch vue的组件传参 $nextTick用过没,什么作用 常见状态码,分别说说其含义 说说Prom ...

  3. 信大捷安校招过程以及java岗位笔试+面试题(2019秋招回忆)

    前言 依稀记得去年纠结了好久,还是逃课跑去参加了信大捷安的郑大校招现场(2018.10.10),在此之前去郑大校招面试了两次都无果而终,加上路途遥远,一来一回四五个小时,一笔一面两个来回,一起去的同学 ...

  4. 招银网络科技秋招补录前端面经

    笔试 前面选择题都比较杂,后面专门的前端是两道编程题(感觉就leetcode简单题吧) + 一道html,css的情景应用 一面(11.17) ① 自我介绍(由于提到最近看红宝书,因此提问相关知识点, ...

  5. 百度秋招补录测开一面

    1.自我介绍 2.讲项目---巴拉巴拉一大堆,不知道面试官有没有听懂,他也没有问我 3.线上写代码,开始叫我写非递归方式的二叉树中序遍历,我说不会 4.继续叫我写快排,可是我对快排不是很熟悉,于是写冒 ...

  6. 寒武纪2019秋招嵌入式软件开发笔试-牛客网刷题

    寒武纪2019秋招嵌入式软件开发岗笔试 1.单片机IO口开漏输出和推挽输出有什么区别? 我答的:单片机的IO口可以配置为开漏输出和推挽输出两种模式,它们的主要区别在于输出方式和驱动能力不同. 开漏输出 ...

  7. 腾讯2019秋招笔试真题

    1.小Q爬塔 描述:小Q正在攀登一座宝塔,这座塔很特别,塔总共有n曾层,但是没两层之间的净高却不相同,所以造成了小Q爬过每层的时间也不同.如果某一层的高度为x,那么爬过这一层锁需的还是件也是x.小Q孩 ...

  8. 数据分析真题日刷 | 招商银行信用卡中心2019秋招IT笔试(数据挖掘方向第二批)

    进入「数据分析真题日刷」系列第10篇 ⬇️ 今日真题 招商银行信用卡中心2019秋招IT笔试(数据挖掘方向第二批) (来源:牛客网) 题型 客观题:单选30道 主观题:问答4道 完成时间 120分钟 ...

  9. 华为2019秋招面试问答题!(附带笔试参考题)

    前言: 采菊东篱下,悠然见南山",菊花厂的名气就不多介绍了! 今天为大家带来的内容是华为2019秋招面试问答题!(附带笔试参考题)具有不错的参考意义,希望能够帮助到大家! 内容如下: 总共分 ...

最新文章

  1. mqttjar包_GitHub - a-voyager/MqttLib: Mqtt 通信封装库.
  2. 数据结构与算法 第二次实验报告堆栈队列
  3. 原生js实现Object.assign和Object.create
  4. c# 学习笔记 (3) 窗体单例模式
  5. 导出SAP表结构到EXCEl
  6. Python学习笔记:异步IO(1)
  7. BZOJ4698: Sdoi2008 Sandy的卡片
  8. jupyter 显示全部数据
  9. explain 之key rows extra
  10. java的制造商,国内某通信设备制造商JavaEE开发岗面试题
  11. [原创]BizTalk动手实验系列目录
  12. Unity3D切换场景之后光源失效(物体变暗)问题
  13. BZOJ1485: [HNOI2009]有趣的数列(卡特兰数+快速幂)
  14. KMP算法 next数组 nextval数组
  15. idea中html导入背景图片,Intellij IDEA代码框使用自定义背景图片
  16. 升级Ubuntu18.04的linux kernel(修复小米游戏本的触摸板驱动问题)
  17. 单片机 switch c语言,单片机入门-C51语言switch-case语句电路应用实例
  18. 2010Execl冻结多行
  19. Pygame - Python游戏编程入门(3)
  20. c语言静态变量instance,C语言之单例模式

热门文章

  1. 苏宁大数据怎么运营_苏宁云商“三驾马车”:大数据、大物流、大金融并行
  2. rust有准星_Rust能力养成系列之(2):功能抽象
  3. C++11创建线程/多线程
  4. PT9010S(单触控双输出 LED 调光调色温 IC)
  5. vue websocket 新消息提醒
  6. 计算机系统结构WINDLX实验——实验一
  7. VB语言如何对接三方验证码短信接口
  8. 【图像处理】多帧降噪算法
  9. 我与前任们的故事——暨2021个人年度报告
  10. 热血军团-GlobalVariables