1、自我介绍。
2、说一说你所做的项目还有哪些可以改进的地方。
3、定时器是用堆实现的,那如何去触发定时器呢。
4、你这个项目是单线程还是多线程,当Socket来了之后,如何处理。
5、进程、线程、协程得区别。
6、如何保证线程同步。(面试官还问了自旋锁,没学...)
7、文件IO:一个大文件如何复制到另一个文件中。(只答了用buff存储...,大文件不会)
8、
int a = 1; int arr[3] = {1, 2, 3}; char str[] = "Hello"; int len_a = sizeof(a); // 4 int len_arr = sizeof(arr);// 12 int len_str = sizeof(str);// 69、内存对齐
union x { int a; float b; double c; char d; }; sizeof(x);
10、实现 char* strcpy(char* dst, char* src)
char* strcpy(char* dst, const char* src) { // 检查传递参数的有效性 assert(NULL != dst); assert(NULL != dst); if (NULL == dst || NULL == src) { return NULL; } char* ret = dst; while ((*dst++ = *src++) != '\0') ; return ret; }当时没有判assert,直接一个for循环进行拷贝,面试官还问我还有吗?我...。
11、求一个链表的倒数第K个节点。
[1] 先求整个链表的长度得到N,N-K+1就是第K个节点。
[2] 链表反转,再求第K个节点
[?] 面试官问:还有吗? 我:???
估计凉了~,面试官说我语言描述不生动,算法很差...。
更新一下:一面挂了!,果然是自己基础不好,算法太差。
全部评论
(9) 回帖