💬面试问题笔记
2020-8-16
| 2023-3-29
0  |  0 分钟
置顶
type
status
slug
summary
tags
category
icon
password
URL
date
 
作者:我一肚子火
链接:
来源:牛客网
一.计算机网络
1.get请求和post请求的区别
2.在浏览器网址输入一个url后直到浏览器显示页面的过程(这边面试官可能会详细的考察DNS服务器的知识)
3.tcp三次握手和四次挥手的过程(为什么不可以两次握手,为什么握手要三次,挥手需要四次)
4.七层OSI模型或TCP/IP协议模型(各层分别实现了什么协议)
5.各种io模型的知识(BIO,NIO,AIO)
6.http协议和tcp协议的区别
7.https和http的区别
8.https的请求过程
9.http协议的发展历程
10.lvs,nginx,HA在七层网络协议中分别作用于哪层,各自的区别
11.tpc如何实现可靠传输(如何实现udp的可靠传输)
12.tcp和udp的区别

二.操作系统

1.线程和进程的区别(可能会问到协程)
2.进程的调度算法
3.linux中几种io模型(select,poll,epoll)
4.分页,分段,段页的区别
5.操作系统的作用和功能
6.死锁的定义以及如何避免死锁(银行家算法)
7.进程的通信方式
8.线程的七态模型
9.进程间同步与互斥的区别,线程同步的方式
10.动态链接库与静态链接库的区别
三.数据结构
1.如何检验链表是否有环
2.常用的排序算法(算法复杂度,是否稳定,空间复杂度)
3.二叉树和B树的区别
4.B树和B+树的区别
5.hashMap解决hash冲突的几种方式
6.红黑树和平衡二叉树的区别
7.霍夫曼编码的应用
8.数组和链表的区别
9.10w条数据如何找出前一百条频繁数据
10.100个有序数列如何合成一个大数组

四.java基础

1.HashMap底层原理(一定要看源码)
2.有序集合有哪些
3.jvm内存模型(线程私有和线程共享内存分别是什么)
4.gc算法,垃圾收集器有哪些(g1收集器非常重要)
5.如何控制线程并发安全
6.线程安全的集合有哪些(各种集合类的比较,如HashTable和ConcurrentHashMap之间的区别和效率差异)
7.java中常见的锁(乐观锁悲观锁)
8.synchronized和lock有什么区别
9.可重入锁和非可重入锁的区别
10.线程池的七个参数,线程池的好处
11.java中有哪些常用的线程池
12.jvm类加载过程
13.反射的原理,有什么应用
14.java如何打破双亲委派
15.volatile的作用
16.线程间如何通信
17.CAS算法以及可能产生的问题
18.乐观锁和悲观锁的区别
19.String,StringBuffer和StringBuilder的区别(String是不可变类有什么好处)
20.为什么String是不可变类,有什么好处
21.如何保证线程顺序执行
22.sleep和wait的区别
23.synchronized锁膨胀过程
24.抽象类与接口的区别
25.HashMap和HashTable的区别
26.线程安全的数组有哪些
27.谈谈你对面向对象的理解
28.常用的设计模式
29.HashMap和HashTable的区别

五.MySQL数据库

1.数据库中有哪些索引类型
2.数据库索引底层实现
3.为什么选用B+树
4.hash索引与B+树如何选用
5.有哪些数据库引擎,各自的区别
6.怎么对一条查询语句进行调优
7.聚集索引和非聚集索引的区别
8.MySQL有哪几种锁,分别怎么实现
9.MySQL四种隔离引擎,底层实现
10.什么情况下设置了索引但是会失效
11.优化数据库的方案
12.数据库的三大范式
13.数据库的四大特性
14.数据库如何解决幻读(mvcc + 间隙锁)

六.Spring以及分布式知识

1.Spring的启动流程
2.Spring Bean的注入方式
3.Spring IOC如何实现(DefaultListAbleBeanFactory)
4.Spring Aop如何实现,有什么作用
5.Spring事务传播机制有哪几种
6.Spring Bean的初始化过程
7.Spring如何解决循环依赖
8.Spring如何实现懒加载
9.分布式系统如何实现数据一致性
10.谈谈你对微服务的理解
11.负载均衡策略有哪几种方式
12.SOA和微服务的区别
13.如何实现分布式锁
14.如何手写限流算法
15.CAP理论和base定理
16.分布式系统需要考虑哪些问题
17.你的系统你会从哪些方面考虑去优化
18.你的服务挂了怎么处理
  • 编程
  • 面试
  • ubuntu+selenium+python+crontab执行定时任务使用 Noiton 管理任务并且搭建个人知识库
    目录