高级软件工程师试题B

一、          单选题(每题1分,共70分)

  1. 以下哪个表述不正确___D___。

A.ARM是一个公司的名称

B.ARM是对一类微处理器的通称

C.ARM是一种技术的名字

D.ARM是一款芯片的名称

  1. ( D ) 命令是在vi编辑器中执行保存退出。

A  :q

B  ZZ

C  :q!

D  :wq

  1. GCC的正确编译流程为 ( A ) 。

A 预处理-编译-汇编-链接

B 预处理-编译-链接-汇编

C 预处理-链接-编译-汇编

D 编译-预处理-汇编-链接

  1. 下列命令中,删除文件的命令是:___D___。

A. ls

B. mkdir

C. tail

D. rm

  1. 嵌入式处理器指令的执行周期不包括__A____。

A.启动

B.取指令

C.指令译码

D.执行指令

  1. 将系统启动代码读入内存是___C___的主要职责。

A.内存管理

B.VFS

C.Boot Loader

D.虚拟内存

  1. 下列不属于嵌入设计处理器本身带有的基本接口是___C___。

A.串口

B.并口

C.PCIE

D.AD/DA

  1. 下列选项中,描述错误的是__D__。

A.arch为体系结构相关的代码

B.block为块设备的通用函数

C.crypto只能用于加密和散列算法

D.ipc进程件通信代码

  1. SRAM与DRAM相比,优点是___A___。

A.SRAM比DRAM快

B.DRAM与SRAM耗电多

C.SRAM比DRAM存储密度高

D.以上都是

  1. 预处理后的文件后缀名为___D___。
  2. .c
  3. .C
  4. .M
  5. .i
  1. 下列哪条指令把寄存器R0、R1的值相加后存到R2中:__C____。

A.AND R0, R1, R2

B.SUB R0, R1, R2

C.ADD R2, R1, R0

D.AND R1, R2, R0

  1. 下面描述不属于Bootloader的第二阶段的是:___A___。

    1. 硬件设备初始化
    2. 初始化本阶段要使用到的硬件设备
    3. 检测系统内存映射
    4. 为内核设置启动参数
  1. 下面关于UBOOT有点描述错误的是:___D___。

    1. 开发源码
    2. 仅支持Linux操作系统
    3. 支持多个处理器系列
    4. 较高的可靠性和稳定性
  1. 对于“ls –l|more”操作,命令解释程序运行进程ls和more使用了以下哪种通信方式___A___。
  1. 管道
  2. 消息队列
  3. 套接字
  4. 信号
  1. 下列关于Linux根文件目录,描述错误的是___C___。
  2. /bin目录下存放一般用户可以使用的基本命令
  3. /sbin目录下存放系统命令
  4. /dev目录下存放设备文件
  5. /etc目录下存放各种配置文件

16、指令“LDMIA R0!, {R1, R2, R3, R4}”的寻址方式为(  C  )。

A. 立即寻址                                           B. 寄存器间接寻址

C. 多寄存器寻址                                    D. 堆栈寻址

17、下列不属于RISC计算机特点的是( C )。

A. 流水线每周期前进一步。     B. 更多通用寄存器。

C. 指令长度不固定,执行需要多个周期。

D. 独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。

18、USB接口移动硬盘最合适的传输类型为(  B )。

A. 控制传输             B. 批量传输             C. 中断传输             D. 等时传输

19、在嵌入式系统设计中,嵌入式处理器选型是在进行( C  )时完成。

A. 需求分析             B. 系统集成              C. 体系结构设计     D. 软硬件设计

20、无符号二进制数左移一位,则数值(  A  )。

A. 增大一倍               B. 减小一倍                C. 增大10倍              D. 不变

21、登陆系统后首先进入下列哪一个目录?(  D    )

A./home

B.root的主目录

C./root

D.用户自己的主目录

22、用”rm -i”,系统会提示什么来让你确认  ( B  )

A.命令行的每个选项

B.是否真的删除

C.是否有写的权限

D.文件的位置

23、除非特别指定,cp假定要拷贝的文件在下面哪个目录下( B  )

A.home目录

B.当前目录

C.root目录

D.用户目录

24、Linux的创始人是芬兰Helsinki大学的学生,他是谁(  B )

A.Andrew Tanenbaum

B.Linus Torvalds

C.Bill Gates

D.Richard Stallman

25、假如你得到一个运行命令被拒绝的信息,你可以用哪个命令去修改它的权限使之可以正常运行( B  )

A.path=

B.chmod

C.chgrp

D.chown

26、显示用户的主目录的命令是什么( A  )

A.echo $HOME

B.echo $USERDIR

C.echo $ECHO

D.echo $ENV

27、用来分离目录名和文件名的字符是什么( A  )

A.反斜杠 (/)

B.点号 (.)

C.减号 (-)

D.星号 (*)

28、确定myfile的文件类型的命令是什么( C  )

A.type myfile

B.type -q myfile

C.file myfile

D.whatis myfile

29、按_____键能中止当前运行的命令( B  )

A.Ctrl-D

B.Ctrl-C

C.Ctrl-B

D.Ctrl-F

30、哪个符号加在命令后面可以在后台执行程序(    B     )

A.@                         B.&

C.#                             D.*

31、通过shell执行一个命令,必须先敲入一个__B___

A. 参数

B.命令

C.操作符

D.终端ID号

32、当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么?(  A )

A.PID                                       B.UID

C.NID                                      D.CID

33、想查找system-config-network所在的目录,通过什么命令可以实现?B

A.whereis system-config-network

B.which system-config-network
      C.look system-config-network

D.show system-config-network

34、通过下面哪个命令可以打印显示当前工作的目录(B)

A.cd                               B.pwd

C.ls                                 D.ls -l

35、本机有两块硬盘,分别放置在IDE1和IDE2的主盘上,其中挂在IDE2上的主盘有三个主分区,在Linux下IDE2上的主盘第二个主分区的名称为:C

A.hda2

B.hdb2

C.hdc2

D.hdd2

36一个C程序的执行是从(  A )

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序文件的第一个函数开始,到本程序main函数结束

37在一个单链表中,若要删除由指针q所指结点的后继,则(D)

A.p= q->next; p->next= q->next    B.p = q->next; p->next =p

C.p= q->next; q->next= p->next    D.q->next= q->next->next; q->next=q

38下列四组选项中,均不是C语言关键字的选项是( A )

A.define    B.getc    C.include   D.while

IF          
char       scanf        go

type          printf       case        pow

39C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C
)

A.必须为字母               B.必须为下划线

C.必须为字母或下划线         D.可以是字母,数字和下划线中任一种字符

40下面四个选项中,均是不合法的浮点数的选项是  B

A) 
160.    B)  123    
C)一.18    D)一e3

0.12        2e4.2     123e4          .234

e3        .e5        0.0           1e3

41栈结构通常采用的两种存储结构是(  A  )

A、线性存储结构和链表存储结构   B、散列方式和索引方式

C、量表存储结构和数组                  D、线性存储结构和非线性存储结构

42一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(   B   )

A、110   B、108    C、100     D、120

43若有代数式3ae/bc,则不正确的C语言表达式是( C  )

A. a/b/c*e*3      B.3*a*e/b/c

C.3*a*e/b*c       D.a*e/c/b*3

44以下不正确的叙述是( D )

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,APH和aph是两个不同的变量

C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

45在C语言中,要求运算数必须是整型的运算符是(  D )

A. /   B. ++  c. !=   D.%

46若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 ( A)

A.2·500000  B.2.7500OO  c. 3.500000  D.
0.000000。

47循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是(  A  )

A、(rear-front+m)%m      B、rear-front+1

C、rear-front-1             D、rear-front

48向一个栈顶指针为Top的链栈中插入一个s所指结点时,其操作步骤是(D )

A.Top->next=s            B.s->next= Top->next;
Top->next=s

C.s->next= Top; Top =s     D.s->next= Top; Top = Top->next

49若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( D  )

A.  scanf("
%d%lx,%le",&x,&y,&z);

B.  scanf("%2d *
%d%lf"&x,&y,&z );

C.  scanf("%x %* d%o",&x,&y);

D. 
scanf("%x%o%6.2f",&x,&y,&z);

50以下说法正确的是(  D  
)

A.输入项可以为一实型常量,如scanf("%f",3.5);

B.只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");

C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,

如scanf("%4.2f",&f);

D.当输入数据时,必须指明变量的地址,如scanf("%f",&f);

51根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为(  C )

main()

{char 
ch1  ,ch2  ,ch3;

输入语句

printf("%c%c%c",ch1,ch2,ch3);}

输入形式:  A B C

输出形式:  A B

A. 
scanf("%c%c%c",&ch1,&ch2,&ch3);

B. 
scanf("%c,%c,%c", &ch1,&ch2, &ch3);

C. 
scanf("%c %c %c",&ch1,&ch2,&ch3);

D. 
scanf("%c%c",&ch1,&ch2,&ch3);

52下关于运算符优先顺序的描述中正确的是(   C   
)

A.关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符

B.逻辑
运算符< 关系运算符< 算术运算符< 赋值运算符

C.赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符

D.算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符

53判断char型变量c1是否为小写字母 正确表达式为(  D    )

A.‘ a‘ <=cl<=‘ z‘    B. 
(cl> = a)&&(cl<=z)

C.(‘ a‘ >=cl)||(‘ z‘ < = cl) 
D.(c1>=‘a‘)&&(cl<=‘z‘)

54执行以下语句后a的值为(   C  
)

int a,b,c;

a= b= c= 1;

++a||++b&&++c

A.错误    B. 
0      C. 
2  D.  1

55下列运算符中优先级最低的是(  A    )

A.?:   B.&&     c.+     D. 
!=

56以下程序的运行结果是(   C   )

main()

{int m=5;

if(m++> 5) 
printf(" %d\n",m);

e1se    
printf("%d\n",m- - );

}

A.4    B.5   C.6   
D.7

57以下程序的输出结果是(  C  
)

#include <stdio.h>

main()

{

int  a=100,x
=10,y=20,okl=5,ok2=0;

if(x<y)

if(y!=10)

if(!okl)  a=1;

else

if(ok2)  a=10;

a=-1;

printf(
"%d\n",a );

}

A. 
1      B. 
0    C.-1    D.值不确定

58设有程序段(   C 
)

int  k=10;

while  (k=0) 
k= k—1;

则下面描述中正确的是

A.  while循环执行10次      B.循环是无限循环

C.循环体语句一次也不执行   D.循环体语句执行一次

59下面程序的运行结果是      (   B  )

#include  <stdio.
h>

main()

{int i;

for(i=1;i<=5;i++)

switch(i%5)

{case 
0:printf("* ");break;

case  1  :printf("#");break;

default 
:printf("\n");

case  2 
:printf("&");}

}

A.#&&&*  B. #&   C. 
#    D.#&

&           &

&           &*

60下面程序段(   D 
)

for  (t=1; 
t<=100;t++)

{scanf("%d",&x);

if(x<0)  continue;

printf("%3d",t);}

A. 当x<0时整个循环结束

B. x>=0时什么也不输出

C. printf函数永远也不执行

D.最多允许输出100个非负整数

二、多选题(10每题330分)

1、下面代码行的空格符合规范的是( AC     )

A.*pApple
= ‘a

B.
flag =! BIsEmpty

C.
p = &cMem

D.
i ++

2 、设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中不正确的是:(   ABC   )。

A、float
*p=1024;                             B、int   *p=(float)x;

C、float
p=&x;                                 D、float
*p=&x;

3、 设变量x,y均已正确定义并赋值,以下if语句中,在编译时能产生正确信息的是(    ABD   )。

A、if(x++);

B、if(x>y&&y!=0);

C、if(x>0)x--  
else y++;

D、if(y<0){;}  
else x++;

4、以下for循环的执行次序是(   A  )

for (x=0, y=0; (y=123)&&x<4; x++)

A  执行3次

B. 循环次数不定

C. 执行4次

D. 是无限次循环

5、代码文件由(    ABD    )组成

A.定义文件开头处的版权和版本声明

B. API函数的调用示例

C.全局变量的声明

D.程序的实现体(包括数据和代码)

6、若用数组名作为函数调用时的实参,则实际上传递给形参的是(  C )

A.数组中全部元素的值

B.数组的第一个元素的值

C.数组的首地址

D.   数组元素的个数

7、下面程序的输出结果是

#include <stdio.h>

int x,y ;

f( )

{ int y, a = 25 , b=10;

x =a + b; y = a - b;

return;}

main()

{

int a =9 , b =5;

x = a+b; y = a-b;

f();

printf("d%,d%\n",x,y); }

A.
14,4   B. 35,15    C.35,4   
D. 14,15

8、下列选项中正确的语句组是(   CD    )

A.char
s[8]; s={"Beijing"}; B.char *s;
s={"Beijing"};

C.char s[8]="BeijingT"; D.char *s;
s="Beijing";

9、若有定义:int *p[3];,则以下叙述中正确的是(   AD  )
A.定义了一个可指向一维数组的指针变量p
B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C.定义了一个名为*p的整型数组,该数组含有三个int类型元素
D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素

10、下面程序的输出结果是( C )

int x =1;

f()

{static
int i = 2; int x = 10;

x+=++i;

printf("%d\n",x);}

main()

{

int i;

for
(i=1;i<4;i++) {++x; f();}

printf("%d\n",x);}

A.
13,17,22,4   B.13,14,15,15     C.13,14,15,4     D.无答案

三、判断题10每题110

44用do-while语句构成的循环,当while后的表达式的值为零时结束循环。(  )

45、结构体和共同体可以相互欠套,都可以做为函数的参数使用。(    )

46、在C语言里允许两个同类型的结构体之间相互赋值,也可以将一组常量赋给结构体。(    )

47、在C语言里只能对外部或静态的数组进行初始化。(  )

48、在C语言里,一个共同体不是同时存放多个成员变量的,而是存放其中的一个值,但是不确定是那个值。(    )

49、%-20s的作用是告诉系统按照字符串的形式输出,占20列,向右对齐。(    )

50、赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。(   )

51、continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。(    )

52、在C语言里数组的下标都是取整数,如果是小数将不会做处理。(  )

53、若有定义:int   (*p)[4],则p是一个指向含有四个整型元素的一维数组      
的指针。(  

原文地址:https://www.cnblogs.com/qianrushi1/p/11571380.html

时间: 2024-10-14 21:00:30

高级软件工程师试题B的相关文章

Atitit. 高级软件工程师and 普通的区别 高级编程的门槛总结

Atitit.  高级软件工程师and 普通的区别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握常用的概念(ORM,IOC,AOP,event driver/mvc 等) 2 1.2. 高级概念(lambda,闭包closure,fp,dsl ) 2 1.3. 元编程MOP  Annotation/attributi 2 1.4. 规则引擎and jbpm 2 1.5. 自己的框架and工具的 2 1.6. 自己的输入法 2 1.7. Uapi 3

成为高级软件工程师的10个步骤

What 软件工程师的职业生涯要历经以下几个阶段:初级.中级,最后才是高级.这篇文章主要是讲如何通过 10 个步骤助你成为一名高级软件工程师. Why 得到更多的报酬!因为你的薪水会随着你水平的提高而增加 提升你的职业生涯.成为了高级软件工程师之后,就可以朝着架构师.团队负责人.CTO 等职位前进 历经更大的挑战.随着你的成长,各种影响力也会提高. How 软件工程是很难的.这一行业在不断变化中,所以你必须紧跟它的步伐.你必须不断地投入时间和精力,因为你需要学习的东西总是比你能吸收的多.很多新手

高级软件工程师和架构师的区别(转)

架构师 倾向于 通信 . 通信框架 .队列和 分布式框架运用以及阿里云和微软现有分布式组件的运用. 高级软件工程师 倾向于 C#基础. 多线程.锁和数据库索引 (队列和通信也会问只是会问的浅一些) 研发经理 包含高级软件工程师问的这些外,还会问管理方面的知识 我面试的三家公司分别面试了三个职位,将知识点进行了一个表格整理,分值越高就意味着问的越深,不能百度之百准确,只当参考. 职位 C#基础 通信 缓存和队列 数据库索引 数据库锁事务 前端 多线程 数据结构 管理 自我介绍 大数据方案 常用框架

问题集录--Java高级软件工程师面试考纲(转)

如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构.算法.网络.操作系统等知识.因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对Java高级开发工程师职位的考核纲要,希望可以帮助到需要的人. 当前,市面上有<Java XX宝典>类似的图书,而且图书中的内容都着重在讲解Java最为基础的部分,最严重的是,里面有着大量错误的内容,极具误导性.另外,网上也有各种各样的Java面试题,很多也是着重在Java语言基础上.实际上,如果

.NET高级软件工程师面试题排行榜(转载)

原文引用:https://m.sanwen8.cn/p/104gMSd.html 一.对于 Web 性能优化,您有哪些了解和经验吗? 出现指数:五颗星 主要考点:这道题是博主在博客园的新闻里面看到的,回想之前几年的面试经历,发现此题出现概率还是比较高的.因为它的考面灰常广,可以让面试官很快了解你的技术涉及面以及这些技术面的深度. 参考答案:这个问题可以分前端和后端来说. 1.前端优化 (1)减少 HTTP 请求的次数.我们知道每次发送http请求,建立连接和等待相应会花去相当一部分时间,所以在发

Java高级软件工程师面试题

Java 软件高级工程师笔试题 [智力部分](30分) 1. 烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?(5分) 两头同时烧 2. 4,4,10,10,加减乘除,怎么出24点?四个数字分别只能用一次(5分) (10*10-4)/4 3. 如果你有无穷多的水,一个容积为3L的和5L的提桶,你如何准确称出 4L的水?(5分) 第一步:向5L的通中放两次3L水,这时3L水桶剩1L水. 第二步:将3L水桶中的1L水倒入5L的水桶中,这时5L的水桶中有1L水. 第三步:再用3L水桶盛满水全部倒

高级软件工程师

第二章 http://files.cnblogs.com/files/GISerp/%E7%AC%AC2%E7%AB%A0%E9%A1%B9%E7%9B%AE%E7%94%9F%E5%91%BD%E6%9C%9F%E5%92%8C%E7%BB%84%E7%BB%87.pdf

Java高级软件工程师知识结构

1 Java基础 1.1 Collection和Map 掌握Collection和Map的继承体系.Java Collection与map 掌握ArrayList.LinkedList.Vector.Stack.PriorityQueue.HashSet.LinkedHashSet.TreeSet.HashMap.LinkedHashMap.TreeMap.WeakHashMap.EnumMap.TreeMap.HashTable的特点和实现原理. 掌握CopyOnWriteArrayList.

软件攻城狮与高级软件攻城狮

今天被问软件工程师与高级软件攻城师的区别,心中一懵,不知如何作答,随问群中朋友,朋友答:"多了'高级'2个字"-- 好吧,以上即是真事,也是调侃,权当作乐. 以下,本人百度所来(摘自百度知道): 软件工程师:现在社会上对这个职称的应用太广了,基本上从事纯Coding的都能叫"软件工程师".简单点说,你会点编程,就能叫"软件工程师".没啥含金量的. 高级软件工程师:这个职称的要求就高点了,技术\开发履历\管理经验都要达到一定的层次,具体定位可以去参