写在前面: 此文档由一位学长整理,转载请附上原文出处链接
操作系统
1.操作系统的目标与功能?(什么是操作系统?)
2.操作系统的运行机制?
3.系统调用?
4.线程与进程?
5.进程的调度算法有哪些?
6.同步和互斥?
7.什么是死锁?死锁产生的原因是什么?如何处理死锁?
8.简述银行家算法的主要思想
9.页面置换算法有哪些?
10.磁盘调度算法有哪些?
软件工程
1.什么是软件工程?目前有哪几种主要的软件工程方法?
2.软件测试的目标是什么,有哪几种主要的测试方法?
3.面向对象如何实现模块独立性,其耦合和内聚的含义是哪些?
4.面向对象和面向过程软件工程有哪些区别?
5.简述对象、类、消息、方法的基本概念
6.简述面向对象分析设计的三个模型
数据库
1.三个范式是什么
2.什么是视图?以及视图的使用场景有哪些?
3.超键、候选键、主键、外键分别是哪些?
编程语言
1.指针和变量的自增自减有什么不同?
2.宏定义与操作符的区别?
3.虚函数与纯虚函数的特点?
4.如何使用纯虚函数?
5.引用与值传递的区别?
6.指针与引用的区别?
7.面向对象与面向过程的区别?
8.面向对象的特征是什么?
9.类与结构体有什么区别?
10.C++覆盖与隐藏概述?
11.C++支持参数个数不确定的函数吗?
12.什么是内联函数?
13.什么是静态函数?如何使用静态函数?
14.函数重载及作用域?
15.什么是函数模板?
16.什么是类模板?
17.什么是泛型编程?
18.C++如何实现泛型编程?
编译原理
1.简述C语言编译过程
2.程序在执行main函数之前会发生什么?
3.C语言头文件引号和尖括号的区别
4.详细的描述一些编译器的工作过程
5.编译器如何处理#define宏定义的
6.简述编译器各阶段的工作
海量数据
1.海量日志数据,提取出某日访问百度次数最多的那个IP
2.统计最热门的10个查询串
3.在海量数据中找出重复次数最多的一个?
4.给40亿个不重复的unsighed int 的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40个数当中?
5.字符串重复
6.海量大题思路汇总
参考博客:
【1】十道海量数据处理面试题与十个方法大总结
【2】十一、从头到尾解析Hash表算法
【3】海量数据处理