C语言校招面试
最近校招已经开始,有同学留言建议更新一些校招相关的文章。本文就大概谈谈校招。
C语言的校招题目离不开这几方面:c语言基础、数据结构、linux系统内核、编程题目(手撕代码)。限于篇幅,分别粗略谈谈这几个方面怎么去准备,顺便举一些例子。
1、 C语言基础。
常见的考察点有字符串、指针、结构体、函数等等,例如:
字符数组和字符串常量的区别:
C语言有两种表示字符串的方法,一种是字符数组,另一种是字符串常量,它们在内存中的存储位置不同:
字符数组存储在全局数据区或栈区,有读取和写入的权限;
字符串常量存储在常量区,只有读取权限,没有写入权限。
参考本公众号前面的文章:
文章链接:
2、 数据结构。
基本数据结构的原理,队列、列表、树(深度广度遍历方法、平衡二叉树、红黑树等);各种排序算法实现以及算法复杂度推导。参考清华大学严蔚敏经典数据结构教材。
例如:
冒泡排序、选择排序、插入排序、归并排序等(代码自行百度)。
3、 linux系统内核。
这就比较多了,进程空间、进程调度、进程通信、地址空间、定时器等等。参考书目《深入理解Linux内核》、《Linux内核设计与实现》等。
例如:
可以用于任务间通信的手段有哪些?
共享内存、信号量、消息队列、socket等。
4、 编程题目参考
《剑指offer》和LeetCode,至少《剑指offer》中的题目建议全部刷完。