转眼之间已经进入了18年2月份。每年的2、3月份,工程师们就会迎来新一波的跳槽高峰。为了拿到更高的薪资,好好准备笔试、面试当然是重中之重。
今天小编为大家整理了去年滴滴春招的笔试题,快来试试自己能不能拿到30K月薪吧!
第一部分:选择题
1. 下面关于虚拟局域网VLAN的叙述错误的是
A 不同VLAN内的用户可以相互之间直接通信
B 每一个VLAN的工作站可处在不同的局域网中
C VLAN是由局域网网段构成的与物理位置无关的逻辑组
D VLAN能灵活控制广播活动
2. 下面关于系统调用的描述中,错误的是
A 系统调用中被调用的过程运行在”用户态”中
B 利用系统调用能够得到操作系统提供的多种服务
C 系统调用把应用程序的请求传输给系统内核执行
D 系统调用保护了一些只能在内核模式执行的操作指令
3. 下列哪个IP地址可以分配给一台计算机?
A 256.1.3.4
B 197.3.11.0
C 199.5.89
D 11.15.33.235
4. 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法?
A 2^(n-1)
B 2*(n-1)
C 2^n
D 2n
5. 请问经过表达式a = 5 ? 0 : 1的运算,变量a的最终值是?
A 5
B 1
C 0
D true
6. 假设在 n 进制下,下面的等式成立,n 的值是?
567*456=150216
A 9
B 12
C 13
D 18
7. 网络地址为172.16.0.0,采用子网掩码255.255.224.0 .以下说法正确的是
A 其中一个子网的广播地址为:172.16.32.255
B 其中一个子网的广播地址为:172.16.128.255
C 划分了8个有效子网
D 划分了6个有效子网
8. 我们在将某个订单送给某一司机之前,需要计算一下这个司机选择接受这个订单的概率,现有A,B两个订单,对某一司机。已知:
1.如果只将订单A播送给司机,司机接受的概率是Pa;
2.如果只将订单B播送给司机,司机接受的概率是Pb;
现在讲A,B同时播送给该司机,司机选择A的概率是多少?
A Pa
B Pa*(1-Pb)
C Pa*(1-Pb)/(1-Pa*Pb)
D [1-(1-Pa)*(1-Pb)]*Pa/(Pa+Pb)
9. 一条tcp连接,主动关闭的一方不可能出现的连接状态是
A CLOSE_WAIT
B FIN_WAIT2
C TIME_WAIT
D FIN_WAIT1
10. 下列关于TCP和UDP叙述正确的是
A 都是无连接的
B TCP是无连接的,UDP是面向链接的
C TCP适用于可靠性较差的广域网,UDP适用于可靠性较高的局域网
D TCP适用于可靠性较高的局域网,UDP适用于可靠性较差的广域网
11. 在gcc环境下,已知数组int arr[5]={1,2,3,4,5};则*(*(&arr+1)-1)的结果为
A 1
B 0
C 4
D 5
12. 如图,有a,b,c,d,e,f,g六个正方形,已知a的边长为n,则红色部分的面积为
A 65*n的平方
B 75*n的平方
C 80*n的平方
D 85*n的平方
13. 一只青蛙,每次可以跳若干(1/2…/n)台阶。求该青蛙跳上一个n(n>0)级的台阶总共有多少种跳法
A 2^(n-1)
B 2*(n-1)
C 2^n
D 2n
14. 下列代码运行出错,可能会是哪一行引起的?
A 1
B 2
C 3
D 4
15. 如果一个二叉树的前序为abcdefg,中序为bcedagf,则该树的后序为
A edbcgfa
B edcbfga
C edcbgfa
D ecdbgfa
16. 在Linux系统中,有一个test文件,它的权限为-rw–wx–x,如果用数字表示权限则是
A 641
B 742
C 652
D 651
17. 在下列几组协议中,哪一组是网络层协议?
A IP,TCP和UDP
B ARP,IP和UDP
C FTP,SMTP和Telnet
D ICMP,ARP和IP
18. 设有五个元素A、B、C、D、E顺序进栈,在进栈过程中可以出栈,则有多少种出栈方式
A 41
B 42
C 43
D 44
19. 下列代码,循环了多少次
A 10
B 11
C 12
D 20
20. 下面程序输出的是:
A 6.25
B 6
C 24
D 25
21. 有以下结构体,请问在64位系统中,sizeof(struct B)的大小为
A 24
B 32
C 40
D 20
22. 下面代码执行完会生成多少个进程
A 10
B 100
C 1024
D 2048
23. 下面关于系统调用的描述中,错误的是
A 系统调用中被调用的过程运行在”用户态”中
B 利用系统调用能够得到操作系统提供的多种服务
C 系统调用把应用程序的请求传输给系统内核执行
D 系统调用保护了一些只能在内核模式执行的操作指令
24. 以下哪个动作可以将逻辑地址转变为内存的物理地址?
A 编译
B 重定位
C 连接
D 运行
25. 在发生死锁的4个必要条件中,破坏以下哪个条件是不现实的?
A 互斥条件
B 不剥夺条件
C 请求和保持条件
D 循环等待条件
26. 字符a-h出现的频率如下:
a : 1, b : 1, c : 2, d : 3, e : 5, f : 8, g : 13, h : 21
使用哈夫曼编码,110111100111010代表的字符串是
A fdheg
B ecgdf
C dchfg
D fehdg
27. 如下代码的空间复杂度
A O(1)
B O(n)
C O(n!)
D O(n^2)
28. 算术表达式a-b*(c-d)/e+f的后缀表达式是
A abcd-*e/-f+
B abcde-*/-f+
C abcde*-/-f+
D abcd*-e/-f+
29. 有256瓶药水,其中有一瓶有毒,用老鼠测试。每次测试两小时出结果,而现在只有两个小时的时间,问最少需要多少只老鼠可以找出这一瓶药?
A 7
B 8
C 9
D 255
参考答案:
1-5:AADAC
6-10:DDDAC
11-15:DDABC
16-20:DDBAC
21-25:BDABA
26-29:ABAB
第二部分:论述题
30. 请阐述traceroute的工作原理?
参考答案:
trcertroute建立一个UDP数据包,不断修改TTL值并发送出去,如果收到”超时错”,表示刚刚到达的是路由器,而如果收到的是”端口不可达”错误,表示刚刚到达的就是目的主机。这样路由跟踪完成,程序结束。
31. 当你在浏览器输入一个网址,如http://www.didichuxing.com,按回车之后发生了什么?请从技术的角度描述,如浏览器、网络(UDP、TCP、HTTP等),以及服务器等各种参与对象上由此引发的一系列活动,请尽可能的涉及到所有的关键技术点。
参考答案:
1) DNS域名解析:浏览器缓存、系统缓存、路由器、ISP的DNS服务器、根域名服务器。把域名转化成IP地址。 2)与IP地址对应的服务器建立TCP连接,经历三次握手:SYN,ACK、SYN,ACK 3)以get,post方式发送HTTP请求,get方式发送主机,用户代理,connection属性,cookie等 4)获得服务器的响应,显示页面
32. 用变量a给出下面的定义
1 一个整型数
2 一个指向整型数的指针
3 一个指向指针的指针,它指向的指针是指向一个整型数
4 一个有10个整型数的数组
5 一个有10个指针的数组,该指针是指向一个整型数
6 一个指向有10个整型数数组的指针
7 一个指向函数的指针,该函数有一个整型参数,并返回一个整型数
8 一个指向函数的指针,该函数有一个整型参数并返回一个整型数
参考答案:
int a;
int *a;
int **a;
int a[10];
int* a[10];
int (*a)[10];
int (*a)(int);
int (*a)(int);
33. 在浏览器输入www.didichuxing.com域名,其DNS查询过程是怎样的?请简述DNS查找过程。
参考答案:
1、在浏览器中输入www.didichuxing.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。
6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
34. 因项目需求,需要将0~2的32次方这个区间的数字保存到内存当中(内存大小为4G),并且可以实现对任意一个数字的增删。(先叙述设计思路,再写出代码)
参考答案:
35. 常见的服务器模型有哪些?你使用过哪些?怎样使用的?
参考答案:同步阻塞式,多进程,多线程,select+多线程,epoll+多线程, epoll+线程池