第一篇:嵌入式linux工程师笔试题目
北京航天泰睿科技有限公司
嵌入式linux笔试题目
一、简答题:
1. 请写出实现后面几个功能的Linux命令:显示文件,拷贝,删除
Ls cp rm 2. do„„while和while„„do有什么区别?
Do„while是先执行一次循环体内的代码然后在判断,而while„.do则是先判断一下条件,然后在执行。Do„„.while如果是不满足条件也会执行,一定会执行一次。
3. Linux系统下.ko文件是什么文件?.so文件是什么文件?
Linux系统下.ko是模块文件,比如驱动之类的。.so是动态链接库文件 4. 如何使用vi进行块拷贝、粘贴、删除的操作
5. 在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是。
/etc 这个目录用来存放系统管理所需要的配置文件和子目录
6. 如何使用gcc得到宏展开的中间代码
gcc –E –P xxfile 7. 如何使用gdb调试多进程
先ps出进程id,再gdb-a attach上去,b设一个断点,c继续运行就可以了
8. 用户进程间通信主要哪几种方式
管道,信号量,消息队列,有名管道 9. 解释命令ls-amore具体含义。
-a 输出目录下的所有文件,包括隐藏文件-m 横向输出文件名,并以’,’隔开-o 显示文件除组外的详细信息-r 对目录反向排序
-e 输出时间的全部信息,而不是简要信息
10. LINUX中的管道指什么,重定向又指什么
管道是一种两个进程间进行单向通信的机制。因为管道传递数据的单向性,管道又称为半双工管道。数据只能由一个进程流向另一个进程(其中一个读管道,一个写管道);如果要进行双工通信,需要建 立两个管道。管道只能用于父子进程或者兄弟进程间通信。,也就是说管道只能用于具有亲缘关系的进程间通信。
11. 请写出下列代码的输出内容 #include “stdio.h” main(){ int a,b,c,d;a=10;
第1页/共3页
北京航天泰睿科技有限公司
b=a++;c=++a;d=10*a++;printf(“b,c,d:%d,%d,%d”,b,c,d);return 0;
12. 编写一个函数intcharnum(charfn[10]),该函数以只读方式打开文件fn,,通过统计,返回文件中字符的个数,请使用while循环实现计数功能。请勿修改主函数main和其他函数中的任何内容,仅在函数charnum的花括号中填写若干语句。
文件kt7_2.cpp的内容如下:
#include
#include
#include
intcharnum(charfn[10]);
voidmain(){ intnum;
num=charnum(“abc.txt”);} cout<<“num=”<
intcharnum(charfn[10]){
}
二、编程题
13. 如果有一个简单的Test项目目录如下:
# tree Test Test |--common.h |--main.cpp |--test.cpp `--test.h
1)使用wildcard、patsubst函数编写一个C++项目的Makefile文件 2)使用automake、autoconfig编写一个支持configure选项的configure.in脚本
14. 编写一个hello world程序,要求以创建进程的方式打印Hello World!
15. 打开一个文件,并读取从第100字节开始的50字节数据。
第2页/共3页
北京航天泰睿科技有限公司
16. 编写一对socket程序,要求类似于network echo procotol。
Client每隔1秒把自己的IP地址轮流循环发送给一个Server.Server接到IP后,在屏幕上打印对方IP;然后把自己的IP发送回去。Client收到回复后,在屏幕上打印对方IP。
程序一直运行,直到用户退出。各自分类统计接收到的各IP的数据包的个数。
注意:Client可以向多个Server发送请求,Server也可以接收多个Client请求。
17.请描述Linux下程序开发到执行的工作流程(结合自己的项目经历)。
18.结合自己的学习或工作感受简述Linux与Windows编程的区别,嵌入式Linux与Windows的嵌入式OS(如XPE、WinCE)的区别。
第3页/共3页
第二篇:嵌入式linux工程师笔试题目[推荐]
北京航天泰睿科技有限公司
嵌入式linux笔试题目
一、简答题:
1. 请写出实现后面几个功能的Linux命令:显示文件,拷贝,删除
2. do„„while和while„„do有什么区别?
3. Linux系统下.ko文件是什么文件?.so文件是什么文件?
4. 如何使用vi进行块拷贝、粘贴、删除的操作
5. 在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是。
6. 如何使用gcc得到宏展开的中间代码
7. 如何使用gdb调试多进程
8. 用户进程间通信主要哪几种方式
9. 解释命令ls-amore具体含义。
10. LINUX中的管道指什么,重定向又指什么
11. 请写出下列代码的输出内容 #include “stdio.h” main(){ int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf(“b,c,d:%d,%d,%d”,b,c,d);return 0;
12. 编写一个函数intcharnum(charfn[10]),该函数以只读方式打开文件fn,,通过统计,返回文件中字符的个数,请使用while循环实现计数功能。请勿修改主函数main和其他函数中的任何内容,仅在函数charnum的花括号中填写若干语句。
文件kt7_2.cpp的内容如下:
#include
第1页/共2页
北京航天泰睿科技有限公司
#include #include intcharnum(charfn[10]);voidmain(){ intnum;
num=charnum(“abc.txt”);} cout<<“num=”<
intcharnum(charfn[10]){
}
二、编程题
13. 如果有一个简单的Test项目目录如下:
# tree Test Test |--common.h |--main.cpp |--test.cpp `--test.h
1)使用wildcard、patsubst函数编写一个C++项目的Makefile文件 2)使用automake、autoconfig编写一个支持configure选项的configure.in脚本
14. 编写一个hello world程序,要求以创建进程的方式打印Hello World!
15. 打开一个文件,并读取从第100字节开始的50字节数据。
16. 编写一对socket程序,要求类似于network echo procotol。
Client每隔1秒把自己的IP地址轮流循环发送给一个Server.Server接到IP后,在屏幕上打印对方IP;然后把自己的IP发送回去。Client收到回复后,在屏幕上打印对方IP。
程序一直运行,直到用户退出。各自分类统计接收到的各IP的数据包的个数。
注意:Client可以向多个Server发送请求,Server也可以接收多个Client请求。
17.请描述Linux下程序开发到执行的工作流程(结合自己的项目经历)。
18.结合自己的学习或工作感受简述Linux与Windows编程的区别,嵌入式Linux与Windows的嵌入式OS(如XPE、WinCE)的区别。
第2页/共2页
第三篇:嵌入式linu学习心得
嵌入式Linux学习心得
1、Linux命令
ls:查看目录-l以列表方式查看;ls –l 与ll的功能一样 pwd: 查看当前的目录
cd:改变当前操作目录cd /直接跳到根目录 cd..回到上一级目录 cat: 打印显示当前文件的内容信息
mkdir:创建目录
fdisk: 查看硬盘分区信息,-l以列表方式查看
->代表是链接文件,类似window下的快捷方式。
cp: 复制命令,例子cp 文件名 /home/dir/
mv: 移动或改名,如mv sonf.confsonf.txt(改名)移动:mv sonf.conf / rm:删除命令,如rm –f test.c;如删除目录rm –fr d
man:查看某个命令的帮助,man 命令
2、各系统目录的功能
drw—r—w--:d代表是目录,drw代表当前用户的权限,r代表组用户的权限,w代表其它用户的权限。x代表有执行权限。
/boot/gruff.conf: 启动引导程序
/dev:brw—rw--:b代表是块设备。Linux设备有三种,块设备(b开头)、字符设备(c开头)、网络设备。had代表第一个硬盘,hdb代表第二个硬盘。Hdb2代表第二块硬盘的第二个分区。3,67代表主设备为3,从设备为67./etc:存放的是系统的配置文件。Inittab文件存放不同启动方式下必须启动的进程。Inittab文件中有6个启动level,wait中对应着6个level的目录,respawn代表当一个进程被意外终止了,但会自动启动的进程,如守护进程。rc.d目录中存放了一个rc.sysinit文件,里面存放系统初始化配置信息。/etc还有一个vsftpd里面存放tcp、ftp的配置。
/home : 用户目录,存放用户的文件,/lib:存放库文件,后缀为so的文件代表动态链接库。
/lost+found:系统意外终止,存放一些可以找回的文件。
/mnt:挂载外部设备,如挂载光驱:mount –t /dev/cdrom/mnt/cdrom,如
果在双系统中,要查看windows中D盘的文件,首先应该将D盘的文件映射过来,mount –t /dev/hda2/mnt/windows/d
/opt:用户安装的应用程序
/proc:是系统运行的映射,比较重要。里面的文件数字代表进程号。每个进程号目录下包含进程的基本信息。还有其他信息,如cpuinfo等,内核支持的文件系统filesystem等。系统支持的中断interrupts,iomen代表内存分配情况。ioport存放IO端口号。还有分区信息,modole信息,状态信息,版本信息
对于Linux的设备驱动程序,有两种加载模式,一种是直接加载进linux内核,一种是以模块的方式加载到内核。
/sbin: 系统管理的一些工具。如poweroff关机工具。
/usr: 安装系统时很多文件放在此目录下面,包含一些更新等,include包含的头文件,lib 是Linux的库文件,src包含Linux2.4的内核源码
/var:存放是临时变量
3、
第四篇:嵌入式工程师考试题目
笔试题(60分钟)
姓名:
成绩:
嵌入式系统
1.
2.
3.
4.
5.
简述什么是嵌入式系统。简述ARM的版本及特点。简述INTEL XSCALE架构的主要组成。简述INTEL PXA255的逻辑结构。简述你了解的嵌入式操作系统有哪些,各有何特点。
WinCE
1. 简述WinCE系统的完整开发流程。
2. 简述Platform Builder的功能。
3. 简述WinCE内核的构成及各模块的主要功能。
4. 简述Eboot和NK下载到目标板的基本流程及工具。
5. 简述你在WinCE平台上所开发的一个软件项目的(a)功能,(b)软件逻辑结构,(c)所使用的开发工具的情况。
Symbian
1. 简述在进行Symbian OS C++应用开发过程中,你使用哪些技巧以提高你的代码质量。
2. 解释Symbian操作系统手机上构成Java平台的MIDP和CLDC特性。3. 简述Symbian OS上对象如何创建和销毁。
4. 解释Symbian OS上活动对象的概念。
5. 简述你在Symbian OS上所开发的一个软件项目的(a)功能,(b)软件逻辑结构,(c)所使用的开发工具的情况。
Linux
1. 简述BOOTP协议的功能及工作流程。
2. 简述Linux Bootloader的功能及工作流程。
3. 简述Linux的完整启动流程及所需的软件模块。
4. 简述嵌入式Linux上经常使用的文件系统类型及各自的特点。
5. 简述你在嵌入式Linux平台上所开发的一个软件项目的(a)功能,(b)软件逻辑结构,(c)所使用的开发工具的情况。
第五篇:嵌入式软件工程师评估题目
1.计算下列C语言表达式的值
0x34 & 0x78值为______
= = 0x64值为______
0x8 | 0x70值为______
0x55 ^ 0x88值为______&& 2值为______
strlen(“Hello!”)值为______
sizeof(char)值为______
32位系统上, sizeof(long)值为______
0x20 < 30? 1:2 值为______
!99值为______
2.用C语言预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)3.ARM指令是多少位的?
4.关键字volatile在C语言中有什么意义?
5.关键字const在C语言中有什么意义?
6.关键字static在C语言中有什么意义?
7.写一段C语言代码,动态申请128K内存,并将前面100个字节初始化为00xFF.8.写一段C语言代码,用递归的方式实现阶乘函数
阶乘的定义: n的阶乘 = 1 * 2 * 3 *„ „ *(n-1)* n
9.写出下面C语言代码段的输出
#include “stdio.h”
#include “stdlib.h”
void main(void)
{
int a, b, c = 3;
int *p;
p = &a;
*p =1;
b = a+1;
printf(“a=%d, b=%d, c=%d”, a, b,c);
}
10.翻译下面英文为中文
i.MX31L is a high performance embedded RISC processor based on ARM11 core from Freescale.It is a high-speed, low power consumption processor.Windows CE is a generic OS for embedded system by Microsoft, which is a small footprint, modulized, customizable and reliable OS.In this paper, an embedded system using i.MX31L as hardware platform, Windows CE as operating system, NAND Flash as storage medium is described.The memory access for RAM and NAND Flash was designed to be flexible and extendible.The Flash bad-block management,Flash access control, mutually exclusive access, storage of OS image, OS loading, NAND Flash driver, FAT file system were implemented.A two-level OS loader, a USB upgrade tool and a selftest for manufacturing check were implemented.The performance of file system was extensively evaluated, and being further optimized.Moreover, the defect of NAND Flash controller of i.MX31L was discovered during implementation stage.The defect was solved successfully with software workaround.A mature solution for mass production was resulted.