机考碰到的点
- 计算今天星期几
int getDayOfWeek(int year, int month, int day) { if (month < 3) { month += 12; year--; } int h = (day + (13 * (month + 3)) / 5 + year + year / 4 - year / 100 + year / 400) % 7; return h; } - 获取某行的全部的值,或者使用某个符号得到结果
string s; while (getline(cin, s, ' ')) { // 注意 while 处理多个 case cout << s << endl; } - 碰到cpu占用比较高得情况怎么排查
- 使用top命令查看cpu占比情况,得到进程的pid;
- 使用ps -mp pid -o thread,tid,time查看该pid进程的cpu最大消耗的tid线程的情况;
- 将线程tid转化为16禁进制,使用jstack pid | grep tid -A60打印该线程的前60行堆栈的信息。
- 通过上面打印的信息找到代码。
- 获取整数每一位上的值:
string itoa(int n) { string ans = ""; while(n) { ans += (n%10 + '0'); n = (n - n%10)/10; } return ans; } - 哪些是不稳定的排序算法
口诀: 一堆希尔快选(堆排序、希尔排序、快排、选择排序) - 假设 A = 0x123456 ,在大端模式下首字节为?在小端模式下首字节为?
- 注意A要放到地址从低到高的地址中。
- 大端模式下,高放低,所以放下来还是这个顺序。
- 小端模式下,低放高,所以放下来还是这个顺序相反。



8. unix系统是用的clone函数产生线程和进程的。
9. C/C++、Java和Go是编译型语言,javascript、python是解释型语言。
10.一定要看清题目中的重写和重载,两者有区别。

浙公网安备 33010602011771号