阿里二面面经
new和malloc区别
char *p = (char *) malloc(10); sizeof(p) =
struct A: { char a; char b; double c; int d; char e[30]; } 64位操作系统 sizeof(A)=
宏和inline区别?
N个数,有一个数出现超过N/2?
N个大小不超过1000w不重复数排序 ? 没理解题目
说思路
eg: 1 9 2 3 4 的最长序列是1 2 3 4 最大上升子序列
说思路不会
对于两个不同的字符串,我们有一套操作方法来把他们变得相同,具体方法为: 修改一个字符(如把“a”替换为“b”) 删除一个字符(如把“traveling”变为“travelng”) 比如对于“abcdefg”和“abcdef”两个字符串来说,我们认为可以通过增加/减少一个“g”的方式来达到目的。无论增加还是减少“g”,我们都仅仅需要一次操作。我们把这个操作所需要的次数定义为两个字符串的距离。 给定任意两个字符串,写出一个算法来计算出他们的距离。 eg: abcd : a->d b->c c->b d->a dcba
代码题
A: 10000000000 (<1000位) B: 10000000000 (<1000位) A * B
三次握手
读文件 写文件 需要加锁吗? 为甚?
Linux系统在编程上提供的共享内存方案有三种:
- mmap内存共享映射
- XSI共享内存
- POSIX共享内存