首页 > 科技 >

软件开发面试知识点总结

2019-11-15 03:12:11 暂无 阅读:823 评论:0

软件开发面试知识点总结

数据结构&&算法

1、《剑指Offer》

2、LeetCode

3、堆、栈、树、队列、二分、贪心、动归、排序计算机网络

1、各层都有哪些协议,特点是什么,用来干什么,TCP、UDP重点

2、协议常用字段有哪些,作用是什么

3、TCP/UDP的特点,使用场景,TCP的三次握手、四次挥手过程、原因,每个状态的作用等以及TCP的拥塞控制等

4、HTTP的方法有哪些,重点GET、POST使用场景、作用、不同等等

5、常见HTTP状态码、含义

6、Cookie和Session是什么,作用、区别

7、HTTP1.X 和2.X的区别

8、HTTP 和 HTTPs的区别

9、关于IO模型的特点以及比较

10、select、poll、epoll 的原理、比较、以及使用场景操作系统

1、进程与线程的本质区别、以及各自的使用场景。

2、进程状态以及之前的相互转换,什么原因引起的转换

3、进程调度算法的特点以及使用场景

4、进程同步、进程间通信方式,线程同步、线程间通信方式

5、死锁出现的条件,如何避免死锁

6、虚拟内存是什么,作用是什么

7、页面置换算法有哪些,LRU常考,LRU的优点、缺点等等,甚至在面试过程中手撕代码会让你实现一个LRU算法,因此需要搞清楚LRU的实现方式

8、分页、分段的区别Linux

1、文件系统的原理,主要是 inode 和 block

2、硬链接与软链接的区别

3、常用命令有哪些?cat、more、less的区别等

4、僵尸进程与孤儿进程的区别、影响以及解决办法数据库

1、索引原理

2、 ACID 简介、原理、作用

3、四大隔离级别是什么?分别解决什么问题?尤其爱问幻读是什么

4、锁的粒度,三级锁,两段锁,悲观锁&&乐观锁

5、三大范式是什么MySQL

1、MySQL索引底层用B+树实现,为什么用B+树

2、MySQL索引优化、索引失效等等

3、慢SQL怎么看,怎么解决

4、InnoDB和MyISAM的比较、使用场景等

5、MySQL默认的隔离级别是什么?为什么使用这个级别?

6、主从复制过程设计模式

1、为什么使用设计模式

2、手写单例(双重校验锁、Java的话还要回静态内部类)

3、常考的还有工厂、装饰者、观察者、代理等

4、Spring中有哪些设计模式,由此就会衍生到AOP IOC等Java

1、多线程创建方式、不同、原来、线程池的优势

2、线程生命周期、线程安全、自己创建一个线程池要怎么做

3、synchronized、volatile、Lock 的区别使用场景

4、JVM内存模型、GC原理、常见的垃圾回收器工作方式

5、双亲委派及其好处

6、Java集合类,所有的集合类都要熟悉,扩容方式、数据结构、各个容器之间的比较

相关文章