情感测试简介

首页 » 常识 » 诊断 » 百度核心系统工程师笔试题详解
TUhjnbcbe - 2021/5/4 20:47:00
北京好看扁平疣医院 http://baidianfeng.39.net/a_yyxw/210404/8813035.html

作者

Lee

试题来自牛客网。

下列哪些因素不会限制Linux服务器的并发连接数

A、系统内存大小

B、系统网卡数量

C、硬盘大小

D、系统最大文件句柄数量

答案:BC

题解:

Linux服务器的并发数受文件句柄数量的限制,比如在网络中,一个客户端对应一个文件描述符,如果文件描述符达到了上限,将不能继续处理新来的客户端。并发数也会受内存的限制。并发通常采用多进程或者多线程,这两种方式都会占用内存(进程开销更大),且进程/线程数越多,内存占用越大。

下面选项属于函数指针的是?

A、(int*)func(int,int);

B、int*func(int,int);

C、两者都不是;

D、两者都是。

答案:C

题解:

选项A和选项B表达的是一个意思,都是指针函数,即返回值是指针的函数。

一个正确的函数指针:

int(*func)(int,int);

下面有关内核线程和用户线程说法错误的是?

A、内核线程只运行在内核态,不受用户态上下文的拖累;

B、用户线程是完全建立在用户空间的线程库,用户线程的创建、调度、同步和销毁不需要经过内核态;

C、用户线程有利于发挥多处理器的并发优势,但却占用了更多的系统开支;

D、用户线程之间的调度由在线程空间实现的线程库实现。

答案:C

题解:

内核线程:

内核线程可以理解成内核的分身,每个线程都可以单独处理一件事情,比如异步IO。内核线程的使用是廉价的,唯一使用的资源就是内核栈和上下文切换时保存寄存器的空间。

用户线程:

用户线程是完全建立在用户空间的线程库,用户线程的创建、调度、同步和销毁全由库函数在用户空间完成,不需要内核的帮助。因此这种线程是极其低消耗和高效的。

单纯的用户线程只是建立在用户空间,其对内核是透明的,因此其所属进程单独参与处理器的竞争,而进程的所有线程参与竞争该进程的资源。

linux系统中唯一标识每一个用户的是_1_和_2_

答案:

1、用户ID

2、用户名

题解:

用户名方便记忆,实际使用的是用户ID。

在linux系统中使用手工的方法配置网络时,可通过修改_1_文件来配置该计算机的域名解析服务器。

答案:

/etc/resolv.conf

题解:

#Dynamicresolv.conf(5)fileforglibcresolver(3)generatedbyresolvconf(8)#DONOTEDITTHISFILEBYHAND--YOURCHANGESWILLBEOVERWRITTENnameserver..2.#定义DNS服务器的IP地址nameserver..2.#可以有多个nameserver..2.nameserver..2.optionstimeout:2attempts:3rotatesingle-request-reopen

题目描述:

请列出Linux常见进程间通信方式,并进行对比说明。

答案:

管道(有名管道、无名管道)、信号、消息队列、共享内存、信号量、套接字。

无名管道

无名管道只能用于有血缘关系的进程,比如父子进程通信,可以使用有名管道。管道只能传输无格式的字节流,一端写入,另一端读出。使用简单,传输的数据格式有限。

有名管道

有名管道可以用于任意的进程之间。使用简单,传输的数据格式有限。

信号

信号操作简单,但是能承载的信息量有限。Linux下有31种信号。通过信号传递自定义的数据比较困难。

消息队列

消息队列可以用于多个进程,传输的数据有格式区分,适用范围比管道更广。

共享内存

共享内存是效率最高的进程间通信方式,将虚拟内存映射到物理内存空间。映射后用户可以直接操作内存实现进程间通信。

信号量

信号量准确的讲是一种进程同步方式,分为二值信号量和计数信号量,可以确保进程有序的访问共享资源。

套接字

套接字属于网络通信,也可用于本地的进程通信,适用范围最广。

题目描述:

在浏览器中输入

1
查看完整版本: 百度核心系统工程师笔试题详解