面试复习重点——数据结构、操作系统、计算机网络、数据库。

必看书籍:剑指offer、程序员面试宝典

来自:腾讯、搜狐、网易、烽火、百度、大众点评、美团、风行

1. 死锁是什么?什么情况下产生?怎么解决?

2. 设计模式(尤其是单例模式,要会写该模式的程序框架,要注意同步问题,怎么实现在要用时才创建)

3. 线程的同步?为什么要同步?线程间通信方式。

4. 进程与线程的区别,进程间通信方式。

5. 容器类:hashmap与hashtable的区别,arraylist与linkedlist的区别

6. 为什么要用多线程,实现多线程的两种方式,有什么区别?

7. JNI接口,C++中extern C的作用

8. C的内存分配,C中堆的内存分配

9. 指针:int (*s[10])(int)解释其含义(课本上有)

10. Volatile的作用:保存特殊地址的稳定访问,直接从内存中读值(而不是寄存器:编译器优化后的结果,即访问频度高的变量会先存放在寄存器中,以便提高效率)

11. TCP与UDP的区别,为什么说TCP能提供可靠数据传输?

12. TCP三次握手和四次挥手,为什么要三次和四次?

13. http与socket区别

14. 内部类,静态内部类和非静态内部类的区别

15. 指针和引用的区别

16. 内存优化

17. 数据库:索引的优缺点,什么是事务,事务的特性

18. 数据结构:

1) 排序算法(时间复杂度、空间复杂度、稳定性、会讲思路、写代码)

2) 二叉树,遍历方式,通过二叉树的先序遍历和中序遍历,得到其后序遍历(思路+程序)

3) 链表:单链表和双链表,链表逆序输出

19. 对象锁和类锁

20. TCP中怎么保证数据无差错传输的,校验和是怎么得到的?

21. 什么时候会使用TCP,什么时候使用UDP?(结合应用层的一些协议)

22. 深拷贝与浅拷贝

23. 异常处理

24. 数组指针与指针数组

25. 什么是重载,什么是重写,二者区别

26. 哈希表和哈希函数

27. ARP的作用,为什么要用ARP?

28. 网络层ICMP,其应用:traceroute和ping

29. TCP的拥塞控制方式、流量控制方式

1、 你经常逛的论坛,国外的网站,开源代码网站

一:操作系统

1. 进程的有哪几种状态,状态转换图,及导致转换的事件。

2. 进程与线程的区别。

3. 进程通信的几种方式。

4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)

5. 线程的实现方式. (也就是用户线程与内核线程的区别)

6. 用户态和核心态的区别。

7. 用户栈和内核栈的区别。

8. 内存池、进程池、线程池。(c++程序员必须掌握)

9. 死锁的概念,导致死锁的原因.

10. 导致死锁的四个必要条件。

11. 处理死锁的四个方式。

12. 预防死锁的方法、避免死锁的方法。

13. 进程调度算法。

14. Windows内存管理的方式(块式、页式、段式、段页式).

15. 内存连续分配方式采用的几种算法及各自优劣。

16. 动态链接及静态链接.

17. 基本分页、请求分页储存管理方式。

18. 基本分段、请求分段储存管理方式。

19. 分段分页方式的比较各自优缺点。

20. 几种页面置换算法,会算所需换页数。(LRU用程序如何实现?)

21. 虚拟内存的定义及实现方式。

22. 操作系统的四个特性。

23. DMA。

24. Spooling。

25. 外存分配的几种方式,及各种优劣。

二:计算机网络

1. 电路交换与分组交换的区别? 优劣对比。

2. OSI有哪几层,会画出来,知道主要几层的各自作用。

3. TCP/IP有哪几层,会画出来,知道所有层数的作用,会列举各层主要的协议名称。

4. 硬件(MAC)地址的概念及作用。

5. ARP协议的用途 及算法、在哪一层上会使用arp ?

6. CRC冗余校验算法,反码和检验算法。

7. 如何实现透明传输。

8. 知道各个层使用的是哪个数据交换设备。(交换机、路由器、网关)

9. 路由表的内容。

10. 分组转发算法。

11. IP报文的格式,格式的各个字段的含义要理解。

12. MTU的概念,啥叫路径MTU? MTU发现机制,TraceRoute(了解)。

13. RIP协议的概念 及算法。

14. ICMP协议的主要功能。

15. 组播和多播的概念,IGMP的用途。

16. Ping协议的实现原理,ping 命令格式。

17. 子网划分的概念,子网掩码。

18. IP地址的分类,如何划分的,及会计算各类地址支持的主机数。

19. DNS的概念,用途,DNS查询的实现算法。

20. TCP与UDP的概念,相互的区别及优劣。

21. UDP报文的格式,字段的意义。

22. TCP 报文的格式,字段的意义。

23. TCP通过哪些措施,保证传输可靠?

24. 三次握手,四次断开过程。

25. TIME_WAIT状态的概念及意义。

26. 滑动窗口协议 与 停止等待协议的区别。

27. TCP的流量控制和拥塞控制实现原理(会画拥塞控制的典型图)。

28. TCP的快速重传与快速恢复算法。

29. TFTP 与 FTP的区别。

30. 阻塞方式和非阻塞方式,阻塞connect与非阻塞connect。(比较难,有兴趣可以了解)

31. HTTP基本格式。(java程序员必须掌握)

三:设计模式

1. 各种常用模式的用途,使用方法。

2. 单例模式的双重检查实现。

3. MVC模式

继续更新中。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-08 18:01:32

面试复习重点——数据结构、操作系统、计算机网络、数据库。的相关文章

计算机考研复试面试常问问题 操作系统篇

计算机考研复试面试常问问题 操作系统篇 在复习过程中,我用心查阅并整理了在考研复试面试中可能问到的大部分问题,并分点整理了答案,可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看,效率更高! 此系列一共有8篇:编程语言篇|数据结构篇|操作系统篇|组成原理篇|计算机网络篇|数据库篇|软件工程篇|计算机专业英语篇(还未全部完成,敬请期待,你们的支持和关注是我最大的动力!) 个人整理,不可用于商业用途,转载请注明出处. 作者各个平台请搜索:程序员宝藏.快来探索属于你的宝藏吧! 需要pdf直接打印

Java面试复习提纲

Java面试复习提纲 作者:egg 邮箱:[email protected] 微博:http://weibo.com/xtfggef 博客:http://blog.csdn.net/zhangerqing 本章主要介绍一下面对即将来临的Java面试,我们应该从哪些方面去复习,将重点知识罗列出来,以便从容复习,在每个内容后面附该内容在本博客的地址! 类与对象   Java之美[从菜鸟到高手演变]之类与对象(一) Java之美[从菜鸟到高手演变]之类与对象(二) Java之美[从菜鸟到高手演变]之类

linux常用命令大全(linux基础命令+命令备忘录+面试复习)

作者:蓝藻 时间:2018.7.3 前言 本文特点 授之以渔:了解命令学习方法.用途:不再死记硬背,拒绝漫无目的: 准确无误:所有命令执行通过(环境为centos7),拒绝复制粘贴: 实用性高:命令多为实际工作中用到的,实例讲解,拒绝纯理论: 条理清晰:分类归纳,快速找到想要的命令,拒绝天马行空: 总结性强:只列常用语法,易错情况强调,拒绝照搬照套. 学前须知 适用人群:开发.测试.运维 文档用途:linux命令学习.命令备忘录.面试复习 学习途径:书籍(鸟哥的Linux私房菜).视频:慕课网等

大数据技术之_04_Hadoop学习_01_HDFS_HDFS概述+HDFS的Shell操作(开发重点)+HDFS客户端操作(开发重点)+HDFS的数据流(面试重点)+NameNode和SecondaryNameNode(面试开发重点)

第1章 HDFS概述1.1 HDFS产出背景及定义1.2 HDFS优缺点1.3 HDFS组成架构1.4 HDFS文件块大小(面试重点)第2章 HDFS的Shell操作(开发重点)第3章 HDFS客户端操作(开发重点)3.1 HDFS客户端环境准备3.2 HDFS的API操作3.2.1 HDFS文件上传(测试参数优先级)3.2.2 HDFS文件下载3.2.3 HDFS文件夹删除3.2.4 HDFS文件名更改3.2.5 HDFS文件详情查看3.2.6 HDFS文件和文件夹判断3.3 HDFS的I/O

[转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 我之前想总结 一直懒 这次国庆加班 也本来计划来着 感冒了 作罢 .. 作者:蓝藻(罗蓝国度) 创建时间:2018.7.3编辑时间:2019.7.16 前言 本文特点 授之以渔:了解命令学习方法.用途:不再死记硬背,拒绝漫无目的: 准确无误:所有命令执行通过(环境为centos7),拒绝复制粘贴: 实用性高:命令多为实际工作中用到的,实例讲解,拒绝纯理论: 条理清晰:分类归纳,快速找到想要的命

2020年前端面试复习必读文章【超百篇文章/赠复习导图】

前言 之前写过一篇 一年半经验如何准备阿里巴巴前端面试,给大家分享了一个面试复习导图,有很多朋友说希望能够针对每个 case 提供一个参考答案. 写答案就算了,一是「精力有限」,二是我觉得大家还是需要自己「理解总结会比较好」. 给大家整理了一下每个 case 一些还算不错的文章吧(还包括一些躺在我收藏夹里的好文章),大家可以自己看文章总结一下答案,这样也会理解更深刻. 「并不是所有文章都需要看」,希望是一个抛砖引玉的作用,大家也可以锻炼一下自己寻找有效资料的能力 ~ ( 文章排序不分前后,随机排

面试笔试常考的mysql 数据库操作group by

IT 面试中,数据库的相关问题基本上属于必考问题,而其中关于sql语句也是经常考察的一个重要知识点. 下面介绍下sql语句中一个比较重要的操作group by,他的重要行一方面体现在他的理解困难度,一方面体现应用中的长见性. 首先,给出一个studnet学生表: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(30) DEFAULT NULL, `sex` tinyint(1) DEFAU

SSDB 一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis.

SSDB 一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis. 特性 替代 Redis 数据库, Redis 的 100 倍容量 LevelDB 网络支持, 使用 C/C++ 开发 Redis API 兼容, 支持 Redis 客户端 适合存储集合数据, 如 list, hash, zset... 客户端 API 支持的语言包括: C++, PHP, Python, Java, Go 持久化的队列服务 主从复制, 负载均衡 性能 性能数据使用 ssdb-bench(SSD

15分钟搭建Linux操作系统+Oracle数据库的环境

一直想学习下Linux下Oracle数据库方面的运维,但从头安装Linux操作系统,再装Oracle数据库的过程确实非常繁琐,涉及到了很多的操作系统和数据库的配置,门槛高.最近才发现Oracle已经为我们把这些繁琐的工作都帮我们做了,方法就是Oracle VirtualBox + Oracle VM Virtual Appliances(也叫Oracle VM Templates).15分钟搭建一套Linux操作系统+Oracle数据库的开发/测试环境,不是梦. 准备工作: 1.下载并安装Ora