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
作者:loverszhaokai
出处:http://www.cnblogs.com/lovers
本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。