3轮技术,1轮hr
1 将一整数的第0、19、31位置为1,第5、20位置位0,其它位不变
2 struct foo{
int a;
char b;
int c;
}; sizeof(struct foo)=?, 如何使它占寄空间为9.
3 int a = (int *)0 + 4; a=?
4 char *p = "hello"; sizeof(p)=?, strlen(p)=?
char a[]="hello"; sizeof(a)=?, strlen(a)=?
char a[100]="hello"; sizeof(a)=?, strlen(a)=?
char p[2]; char *q = "hello"; strcpy(p, q); sizeof(p)=?, strlen(p)=?
5 去掉字符串中的空格和tab键,在原有字符串空间修改
6 不用库函数实现strncpy
7 二分查找算法,找不到返回-1
8 用宏实现两个数中间的较大数,如何用typeof来完成。
9 char *p = "hello", "hello"被程序加载在哪段空间
10 int a;
extern int b;
static int c;
void fun()
{
int d;
static int e;
}
abcde的区别
11 系统调用和库函数的区别,用户空间用什么指令进入内核空间,快速系统调用是什么
12 纠错
int *func()
{
int a;
return &a;
}
int *b = func();
*b = 100;
13 列举tcp程序 client,server端使用的socket函数
14 程序加载到内存中,线性地址如何分布
15 内核中申请内存主要用哪2个函数,它们的区别
16 short a[]={1, 2, 3, 4};
printf("%x/n", *(int *)a);
大端输出和小端输出
17 两个盘子分别装有5个和6个苹果,其中有一个毒苹果,能一眼辨出,每次只能从一个盘子中取出至少1个苹果,
两个人轮流取苹果,最后一个苹果被谁拿走,谁就被毒死,先拿和后拿谁赢,策略是什么。
18 磁盘每秒能寻址多少次,数量级
19 从一列已经排好序的整形数组中列出所有a + b = k的组合
20 写出算法实现256bit的数的加法
21 已知若干个数范围在[1-99]之间,有一个数出现2次,其它数出现1次,求出出现2次的数
22 用if和goto 实现for(A;B;C)D;
23 内核空间和用户空间地址范围
24 如何设计一个udp server,完成将报文写入文件,每个报文长度1k,有百万个udp client接入