【单选40min+在线编程80min】

单选

1、以下进程的哪些行为不会导致操作系统向该进程发送一个信号?()

A. 程序终止退出

B. 访问了一个非法的内存地址

C. 一个该程序正在监听的socket 上来了一个新连接

D. 发生了除0错误

E.  a.b.c.d 都不会触发信号

F.  a.b.c.d 都会触发信号

2、已知f(x),g(x),都是凸函数(convex function)下面哪个函数一定仍是凸函数?()

A. f(x)*g(x)

B. f(x)/g(x)

C. f(g(x))

D. min{ f(x),g(x)}

E. max{ f(x),g(x)}

F. f(x)-g(x)

3、有关数据挖掘中聚类分析的描述,不正确的是()

A. K 均值和K 中心是常用的聚类方法

B. 聚类分析是一种无监督的学习

C. 聚类分析可用于异常值检测

D. 聚类分析可用于数据降维

E. 基于密度的聚类方法可以发现任意形状的簇

F.  DBSCAN 是一种基于层次的聚类方法

LDG:F

4、在典型的CS服务架构中,假设我们的客户端和服务端都是单进程,同时客户端向服务端建立了很多长连接。当这个服务端进程被 kill -9 命令误杀之后,客户端机器和服务器上的连接会呈现什么样的状态:( )

A. 客户端大量连接处于FIN_WAIT2 状态,服务器大量连接处于CLOSING 状态

B. 客户端大量连接处于FIN_WAIT2 状态,服务器大量连接处于CLOSING_WAIT状态

C. 客户端大量连接处于CLOSING状态,服务器大量连接处于FIN_WAIT2状态

D. 客户端大量连接处于CLOSING_WAIT状态,服务器大量连接处于FIN_WAIT2状态

E. 客户端大量连接处于CLOSING状态,服务器大量连接处于CLOSING状态

F. 客户端和服务器都已经不能看到这些连接的状态

5、下列关于Linux 中 kernel space 和user space 描述错误的是:()

A. user space 不能直接对文件进行写操作

B. 程序代码能手动指定在哪个 space 中运行

C. user space 不能直接创建进程

D. user space和kernel space 的运行空间是相互隔离的

E. kernel space 可以执行任意系统命令

F. user space 中运行出错不会影响kernel space

LLT:E

6、小明主管带领团队同学自驾出行,途中经过一座长为200米的大桥,自驾车队以4米/秒的速度缓慢通过,整个车队通过大桥耗时115秒,已知每辆车长为5米,两车间隔为10米,请问小明的自驾车队有几辆车?()

A. 19

B. 22

C. 14

D. 17

E. 18

F. 15

7、有一圆球从高度为H 的地方自由落下,每次弹跳起的高度为原高度的1/2,则从圆球开始落下到第10次着地时运动的距离为:()

A. 767H/256

B. 1533H/512

C. 3069H/1024

D. 383H/128

E. 1023H/256

F. 以上均不正确

8、关于Android 系统中的ANR,以下说法中哪个是错误的?()

A. ANR 是Android开发中常见问题,开发人员应该极力避免以提升用户体验

B. 应用ANR的是系统底层来监控的

C. Activity 和Service 都可能引发ANR

D. BroadcastReceiver 不接收用户事件输入,onReceive 中不会触发 ANR

E. 应用开发时应避免在 UI线程做长时间的操作如网络 IO 或大运算量计算以避免ANR

F. 可以把耗时任务放到AsyncTask 来避免 ANR

9、若有向无环图G的有向边集合为 E={<1,3>, <3,2>,<1,4>,<3,6>,<4,6>,<3,6>,<6,5>},则以下属于有向图G的一种拓扑排序的是()

A. 1,2,3,4,5,6

B. 1,3,2,6,4,5

C. 1,4,6,3,2,5

D. 1,3,2,4,6,5

E. 1,3,2,5,4,6

F. 1,4,6,5,3,2

LLT:D

10、在电商搜索干预场景中,一条完整的干预规则包含两个部分:干预条件和干预动作。干预条件是指预设若干条件集合,用于对来访的流量中的检索词、访问来源等特征进行匹配,以确定是否命中干预规则。设计一个系统具备:

1)对检索词的匹配,模糊匹配和精确匹配;

2)对数值条件的比较匹配(大于,小于,等于);

3)对某些字符串条件(非检索词)进行正则化匹配。

以下不正确的是:()

A. 正则表达式的匹配,实现上使用词典查找树,可提高性能;

B. 检索词模糊匹配,实现上使用词典查找树,可提高性能;

C. 精确匹配,将字符串转映射成哈希值,再进行比较,可提高性能;

D. 检索词的模糊匹配,使用倒排索引,可提高性能;

E. 上述各种匹配方式中,正则表达式的性能最差;

F. 数值条件比较匹配,需对数值条件进行遍历计算;

11、阅读以下代码,计算程序运行结果是:

AL2018届校招笔试——自然语言处理-LMLPHP

AL2018届校招笔试——自然语言处理-LMLPHP

12、天气预报说明天降水概率是84%,假设降水和时间无关,请问明天中午12点之前就降水的概率是多大?()

A. 30%

B. 40%

C. 50%

D. 60%

E. 70%

F. 80%

13、在一个公司,有10个团队,每个团队有10个成员,同一个团队中的每两个人都是好友,同时每个人都有3个其他团队的好友,假定这个公司的任意两个人都有一条好友链路将他们联系起来,则这个链路最长有多长?()

A. 经过11次好友关系

B. 经过7次好友关系

C. 经过13次好友关系

D. 经过15次好友关系

E. 经过18次好友关系

F. 经过19次好友关系

14、一个等差数列的第x,y,z三项的值分别是y,z,x,试求第x+y 项和第z+y项的差值()

A. -3

B. -2

C. -1

D. 0

E. 1

F. 2

15、堆栈中有元素abcdef,每次出栈可以选择一个或者两个元素栈,当有两个元素出栈时可以选择其中一个重新入栈,则所有元素为空,那么可能的出栈方式有()种?

A. 23

B. 22

C. 21

D. 20

E. 19

F. 18

16、阅读代码,计算结果:

AL2018届校招笔试——自然语言处理-LMLPHP

AL2018届校招笔试——自然语言处理-LMLPHP

AL2018届校招笔试——自然语言处理-LMLPHP

17、阅读代码,计算结果:

AL2018届校招笔试——自然语言处理-LMLPHP

AL2018届校招笔试——自然语言处理-LMLPHP

AL2018届校招笔试——自然语言处理-LMLPHP

18、阅读代码,计算结果:

AL2018届校招笔试——自然语言处理-LMLPHP

AL2018届校招笔试——自然语言处理-LMLPHP

AL2018届校招笔试——自然语言处理-LMLPHP

20、以下函数的时间复杂度是()

void func(int x, int y, int z)
{
If(x<=0)
printf(“%d,%d\n”,y,z);
else
{
func(x-1,y+1,z);
func(x-1,y,z+1);
}
}

A. O(x*y*z)

B. O(x^2*y^2)

C. O(2^x)

D. O(2^x *2^y*2^z)

E. O(x !)

F. O((x*y*z)!)

问答题:

1、现在城市有N个路口,每个路口有自己的编号,从0到N-1,每个路口还有自己的交通控制信号,例如0,3 表示1号路口的交通信号每3个时刻变化一次,即0到3时刻0号路口允许通过,3到6时刻不允许通过,而6到9时刻又允许通过;以此类推,所有路口的允许通行都从时刻0开始。同时城市中存在M条道路将这N个路口相连接起来,确保从一个路口到另一个路口都可达,每条路由两个端点加上通行所需的时间表示。现在给定起始路口和目的路口,从0时刻出发,请问最快能在什么时刻到达?

(编程)

LDG: 第一题应该有图或者例子吧?

2、菜鸟

AL2018届校招笔试——自然语言处理-LMLPHP

LDG: 试一下直接用等差求和公式推n和Sn 然后推k在n-1或者n+1第几个 对应加减就知道编号了?

HJ :

#include <stdio.h>
#include <math.h>
#include <stdlib.h> int helper(int a){
int gs = 0;
int index = 1;
while (a / index > 0){
gs++;
index *= 10;
}
return gs;
} int Get(int n){
int x;
int imk = 1;
int tmp = 0;
int diff = 0;
while (true){
int i;
for (i=1; i<=imk; ++i){
if (tmp + helper(i) == n){
return (i %10);
}
if (tmp + helper(i) > n){
break;
}
tmp += helper(i);
}
if (tmp + helper(i) > n){
diff = i;
break;
}
imk++;
}
int ds = n - tmp;
int len = helper(diff);
int res = len - ds;
int res_index = pow(10, res);
x = (diff / res_index) % 10; // do something
return x;
} int main()
{
int n;
scanf("%d",&n);
int r = Get(n); printf("%d\n",r);
}
05-28 04:11