C语言篇
1. 你怎么看注释(comment)和自注释(self-documenting)的关系?
答:Comment是为了方便给其他的人看我代码时候有一个优良的参考和解释,而且在团队活动中,能搞好的方便自己的team member来看你的代码。Self-documenting 更多的是给自己在编写代码的时候所做出来的一个Mark。比如说,我要code的时候,先开始没有必要完整的写出来这个Function的Body 可以先写个Self-documenting 然后等你把其他部分完成的时候,再可以回头去写document的那个部分。
2. 自顶向下(top-down)和自底向上(bottom-up)编程的理念和过程是什么?
答:
Top-Down:先整理出宏观的设计,再把想法一步步具体的实现
Bottom—up: 是先想具体的细节,然后把具体的细节整合起来,再做个宏观的方向
3. 你觉得C语言中的最核心的概念(或者最难以掌握)是什么?核心(难)在哪里?
答:C语言中最核心的概念是对内存的操作。其难点也是在对于内存的直接操作。
4. 数组与指针的关系是什么?
答:int a[0] = int *a
int a[1] = int *(a+1)
……
5. 是否能解释指针移动过程?
答:指针移位,是往后移sizeof(type)个位数
*6. 是否熟悉位运算,能够熟练说出结果?
这个真的还不太熟,需要加强
7. 是否能够写出简单的Makefile,不借助任何编辑器/IDE就能组织简单地项目
答:能大概看的懂,但是自己写的话,还是需要多练。
8. 如何理解stdout, stdin的类型是FILE*?
9. 是否能够在纸上模拟指针的操作?
10. 是否足够熟悉标准库?
自学这些内容:宏,enum&union,函数指针,assert.h