在C/C++初次求职中怎么学习
2017-04-05 本文已影响68人
一叶之界
知识在于总结
根据自己多家面试,和自己的学习,进行了如下总结,其作用:
- 了解面试中会遇到的问题;
- 让自己在求职期间,有一个学习的方向;
- 让自己对知识的掌握更加牢固;
- 尽量快速的找到工作。
C语言的学习
- 结构体、联合体和枚举的区别;
- malloc()和free()的作用,主要会出一些关于内存泄漏的函数;
- 指针数组和数组指针,函数指针和指针函数;
- 数组地址;
- 循环体for、while、do…while;
- 递归函数,建议写一个查找当前目录下某格式文件,并打印输出;(我遇到两次递归的)
- 变量主要存放在那三个区:堆区、栈区、全局区,之间的区别是什么;
- 弄清楚sizeof()和strlen,他们是怎么计算字节数的。
C系统网络
- OSI的七层结构图;
- TCP实现机制,以及三次握手和四次握手;
- TCP和UDP的区别;
- 多线程,线程之间的同步和异步是怎么实现的;
- 读者和写者、科学家就餐问题等;
- 线程和进程之间的区别;
C++
- 类的重载函数、赋值函数、构造函数;
- 类的多态;
- 虚函数和纯虚函数区别;
- 虚函数是怎么实现的;
- STL标准模板库,建议弄清楚顺序模板库以及map、set;
- 有能力的可以弄清楚泛型编程。
- C++中的new()、delete()与malloc()、free()之间的区别,主要也是内存泄漏;
- 什么是引用,引用和指针的区别;
MySQL数据库
增删改相对来说,都是比较固定的格式,变化不大;主要是查找,特别是多表查询;一定要弄清楚。
额外补充
- 线程池;
- epoll();
- 动态数据库和静态数据库;
- const和define之间的区别;
- 有的问题可能会涉及到相关行业了,比如:医疗、金融、游戏、通信等行业;
从整体上来讲:对于C语言,我们要弄清楚指针、结构体、枚举、联合体等;C++我们要掌握三大特性(多态、继承、封装)、STL等;MySQL数据库主要关于查找的命令;QT集成开发环境暂时没有遇到问什么问题。其实,只会上面的那些是远远不够用的,需要自己额外的学习(博客、GitHub、知乎、简书等相关网站),又或者在面试中总结的。
其实,我一直在考虑,我要不要将相应的答案写在上面,方便大家呢!思来想去,最终决定,还是不写了。想让自己去总结,自己去思考,毕竟自己总结的东西才是自己的。
还有一个原因,在面试当中技术人员在问你相关的问题,恰好是上面的;那么,你怎么去答,是按照我总结的去答,还是直接说不会呢?假如你背下了相应的答案,那么技术人员可能继续追究下去,如果你对这样一块不是很熟悉,又怎么?答不应定对,不答有感觉没面子……其实,此时我建议你,最好终止相关话题,转移到自己拿手的技术上,那样应聘成功的机会才会大。