当前位置:   article > 正文

2020.8.31-CVTE嵌入式应用开发秋招笔试题_cvte的linux笔试

cvte的linux笔试

题型:20道不定项选择题+2道编程题

一、20道不定选项:

Linux常用命令考查
cvte1 复制到 cvte2 的命令
dd if=cvte1 of=cvt2 
cat cvte1 > cvte2
cat cvte1 | cat cvte2 
cp cvte1 cvte2 

检查内存状态的方式有哪些 
cat /proc/memifno
top 
free
...

可显示ls用法提示的是
ls -i
ls --help
whereis ls 
man ls
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
协议、接口等相关考查(硬件知识)
RS232 与 RS485: 谁的通信线更长? 接口转换?

uart、i2c协议

主从结构且支持多主设备的是?
A.usb总线
B.令牌网
C.pci总线
D.以太网

GPIO可用于
ADC检测
模拟I2c
中断检测
PWM
...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
C语言功底的考查(题目最多)
局部变量的类型可以是?
void
extern
static
auto
register

*p = 35;
*(p+1) = 56;
int i = (*p++)++;  问 i = ? (运算符优先级考查)

一个二维数组有m列,问ar[i][j]索引方式
A. m * i + j
B  m * i + j - 1
C  ...
D  ..

wchar_t str = L"ABCDEF朱璇"  // 宽字符
问:sizeof(str) = ?
选项:A.18 B.16  C.0  D.8  E.9

隐式类型转换相关的
 a * b + i * j 的类型是(其中a int  b char i float j double)
 A.float
 B.double
 C.int
 D.char 
 
 for、do……while和while……do的考查
 A while和 do..while的循环条件应该在循环循环体前初始化
 B for、do..while、while的循环体都可以为空语句
 C ...
 D ...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
C++相关的考查
虚函数(多态)考查
A *object = new B;
问:object->func();  //问打印什么?


STL的vector考查:多选题
A. insert 必会导致全部迭代器失效
B. push_back可能导致内存重新分配
C. vector可分段存储
D. ...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
操作系统相关考查
进程间通信方式有哪些?
共享内存、信号、socket、消息队列、管道 -->全选


中断的考查:
A. 中断没有返回值
B. 中调需被程序调用
C. 中断程序需要限制耗时较长的代码
D. 中断能传递参数

下面不是必须运行内存的是?
A. 休眠
B. 睡眠
C. 待机
D. 关机
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
设计模式
下面说法正确的是
A.适配器模式....
B.单例模式是线程安全的吗
C.装饰模式可以不修改原对象添加新功能
D.观察模式是行为模式
  • 1
  • 2
  • 3
  • 4
  • 5

上面不定项题考查方向总结:
考查方向:C/C++ Linux下常用命令、操作系统、设计模式、协议、接口相关
没考查:高级的数据结构和算法,如晦涩难懂的二叉树那些


二、2道编程题

编程题1:一个公司有3个小组A、B、C,每组10个成员

要求:统计3小组总分排名和前5分数 (注意:必须用C实现)
举例如下:
输入:
A = {68, 98, 72, 64, 83, 80, 79, 92, 88, 55}
B = {61, 88, 92, 74, 63, 82, 77, 96, 83, 60}
C = {99, 79, 53, 82, 85, 72, 66, 73, 84, 75}

输出:
A: 98 92
B: 92 96
C: 99
备注:这道题最好用“面向对象编程”完成

编程题2:删除双向链表的重复节点(注:链表无序)
void DeleteDuplication(ListNode *headPtr){  

}
备注:实现语言可为C/C++ java python等
  • 1
  • 2
  • 3
  • 4

编程题的总结:
CVTE侧重链表、字符串相关的编程,不会考查到二叉树、图等高级数据结构和算法(如DP)。还有软件开发必考的(C功底硬是前提,面向对象编程)。

关于答案,还请读者自行解决。

三、笔试总结

答案并非重要,而是要意识到CVTE笔试题的考查方向有哪些
1)Linux常用命令 
2)C/C++编程(STL是重点) 是必须掌握的
3)操作系统相关,如多线程/多进程编程、网络编程(这里虽然没考)
4)数据结构与算法(重点也是难点,侧重字符串、链表)
5)设计模式(了解即可,但要能手撕单例饿汉、桥接模式等常用设计模式)
6)嵌入式硬件相关(如通信协议、接口、规范等)

措施有哪些呢?
1. 牛客网刷题,查漏补缺
2. LeetCode必刷(尤其字符串/链表相关),锻炼思维,了解套路
3. 学会总结、脑海中存在的,才是属于你的
4. 多敲代码,不用看太多书/视频/文章 :)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/200476
推荐阅读
相关标签
  

闽ICP备14008679号