2015-10-19 [有道]--研发工程师--1~3面

时间:2015-10-19 11:50 ~ 16:00

地点: 北京海淀区成府路蓝旗营北大清华教师公寓2楼 柏拉图咖啡馆

 

一、1面

1. linux C++ 进程内存布局

2. 进程和线程

3. Singleton模式,考虑多种情形

4. 进程间通信,互斥锁的原理

原理:使用PV原子操作。P操作 + 1, V操作 - 1。

V is generally explained as verhogen ("increase").

Several explanations have been offered for P, including proberen for "to test" or "to try,"[4] passeren for "pass," and pakken for "grab." 

 

5. 算法题:

5.1 3000w个字符的字符串,每个字符占8位,查找第一个重复的字符出现的位置。时间复杂度,空间复杂度

5.2 3000w个字符的字符串,每个字符占32位,查找第一个重复的字符出现的位置。时间复杂度,空间复杂度

 

6. 二分查找,使用递归实现

 

二、2面

2.1 一个数组包含N个元素,每个元素的值在1~M之间,求包括1~M所有值得最短区间。

2.2  1, 2, 3, 4, ...,N,求所有和为M的组合,不包含重复数字

 

三、3面

3.1 查找兄数,一个数字N,他的兄数是比N大的,但是包含的数字是相同的。其中最小的那个数就是N的兄数。

3.2 设计一个程序,输入用户id,返回该用户是否可以访问。以下是约束:

a. 该用户1min内,不得超过100次

b. 该用户1hou r内,不得超过1000次

c. 该用户1day内,不得超过10000次

 

类似题目:

http://intgraph.wizmann.tk/System%20Design/ratelimit-system.html

posted @ 2015-10-21 10:48  loverszhaokai  阅读(258)  评论(0编辑  收藏  举报