面经准备

2019-08-17  本文已影响0人  yuriy0_0

算法

1,最长回文子串
https://www.cnblogs.com/mini-coconut/p/9074315.html
2,爬楼梯问题
https://blog.csdn.net/rocling/article/details/81193431

数据结构

1,红黑树
http://www.360doc.com/content/18/0904/19/25944647_783893127.shtml
https://www.jianshu.com/p/6f6642b982af
https://github.com/julycoding/The-Art-Of-Programming-By-July/blob/master/ebook/zh/03.01.md

2,hashmap底层实现
1.8之前是链表+entrySet,1.8之后使用链表+红黑树

3,hashmap的扩容机制
https://www.cnblogs.com/yanzige/p/8392142.html

4,一致性哈希
https://www.cnblogs.com/study-everyday/p/8629100.html
https://www.jianshu.com/p/e968c081f563

5,布隆过滤器
https://segmentfault.com/a/1190000015482091
https://my.oschina.net/LucasZhu/blog/1813110
https://www.jianshu.com/p/2104d11ee0a2

6,跳表
https://www.jianshu.com/p/dd01e8dc4d1f
https://blog.csdn.net/pcwl1206/article/details/83512600

网络

1,三次握手和四次挥手
https://blog.csdn.net/qq_38950316/article/details/81087809

2,TCP和UDP的区别
https://www.cnblogs.com/williamjie/p/9390164.html
面向报文与面向字节
https://blog.csdn.net/ce123_zhouwei/article/details/8976006

3,TCP如何保证可靠传输
https://blog.csdn.net/liuchenxia8/article/details/80428157

4,TCP如何进行流量控制

5,TCP如何进行拥塞控制
https://blog.csdn.net/m0_37962600/article/details/79993310

6,HTTP状态码
https://www.cnblogs.com/xflonga/p/9368993.html

7,漏桶算法

8,HTTP POST和GET
https://www.cnblogs.com/liziweiblog/p/11066333.html
https://blog.csdn.net/bieleyang/article/details/76272699
https://baijiahao.baidu.com/s?id=1626599028653203490&wfr=spider&for=pc

9,
InetAddress IP协议
URL URL
URLConnection
HTTPURLConnection
Socket/ServerSocket
https://www.cnblogs.com/kuangzhisen/p/7053689.html

UrlConnection连接和Socket连接的区别
https://blog.csdn.net/iteye_1429/article/details/82168974
https://blog.csdn.net/bibi1314123/article/details/17090927

10,三次握手中ack的值是什么?SYN攻击与防护
https://www.cnblogs.com/huskiesir/p/10212053.html
https://baijiahao.baidu.com/s?id=1627339324399698792&wfr=spider&for=pc

11,tcp的time wait 和 close wait
12,长连接及心跳连接
https://www.jianshu.com/p/16c8c9e09feb

数据库/MySql

1,Mysql的事务隔离级别
https://www.cnblogs.com/rxbook/p/8975924.html
设置mysql的事务隔离级别
https://www.cnblogs.com/huasky/p/11190086.html
https://www.cnblogs.com/satng/p/7759899.html

2,数据库的连接池
https://blog.csdn.net/qq_39659876/article/details/80958450
https://blog.csdn.net/qq_34468186/article/details/83892496
https://baijiahao.baidu.com/s?id=1599699339020031595&wfr=spider&for=pc

3,乐观锁悲观锁
https://www.cnblogs.com/suger43894/p/11024102.html

4,数据库分页优化
https://www.cnblogs.com/geningchao/p/6649907.html
https://www.cnblogs.com/RunForLove/p/5100009.html
https://www.cnblogs.com/waterystone/p/9392421.html

5,mysql数据引擎知道几种?innodb和mylsam区别
6种,InnoDB,MyISAM,NDB,Memory,Archive,Federated,Maria
https://www.cnblogs.com/zhangchaoyang/articles/4214237.html

6,索引失效

7,覆盖索引
https://blog.csdn.net/qq_15037231/article/details/87891683
https://www.cnblogs.com/happyflyingpig/p/7662881.html
https://www.cnblogs.com/pyng/p/9599977.html

8,倒排序索引
https://www.cnblogs.com/gered/p/9561710.html
https://www.cnblogs.com/luminous1/p/8383777.html
https://blog.csdn.net/zsd_31/article/details/79979818

9,MVCC
https://blog.csdn.net/rocling/article/details/81193431
https://www.cnblogs.com/liulvzhong/articles/9242299.html

redis

1,Redis数据结构及持久化机制
https://www.cnblogs.com/neooelric/p/9621736.html
2,Redis持久化机制
https://www.cnblogs.com/yyjie/p/7487937.html

MyBatis

1, mybatis 如何获取自增ID
https://blog.csdn.net/zonghao123/article/details/78374169
2, mybatis 一二级缓存

JavaSE

1,根据反射加载一个类的具体步骤
https://www.cnblogs.com/xiaobiqiang/p/6047146.html
https://www.cnblogs.com/FanJava/p/9512775.html

2,泛型
https://www.cnblogs.com/coprince/p/8603492.html

3,面向对象
4,HashMap为什么初始化为16
https://blog.csdn.net/l18848956739/article/details/85998121

5,hashCode 怎么对应桶的位置
https://blog.csdn.net/yue31313/article/details/77513353

6,hashCode的计算
https://blog.csdn.net/tanggao1314/article/details/51457585
https://blog.csdn.net/zhucegemingzizheng/article/details/81289479

7,字符串快速去重

8,Error和Exception的区别
https://www.cnblogs.com/lcl-dcr/p/7653274.html
https://www.cnblogs.com/hustzzl/p/7840780.html

9,聊一下java里的对象(java里的包)

10,HashMap底层转红黑树的时机
https://www.cnblogs.com/laipimei/p/11282055.html
https://www.cnblogs.com/laipimei/p/11275235.html
11,io类型;nio是其中哪一种
https://blog.csdn.net/datadev_sh/article/details/79241186
https://blog.csdn.net/Yufail/article/details/88825123

JavaEE

1,Session和Cookie的区别
https://www.cnblogs.com/zlw-xf/p/8001383.html
https://www.cnblogs.com/roxy/p/7805858.html

2,Servlet的生命周期

设计模式

1,单例模式的好处,应用
https://www.cnblogs.com/restartyang/articles/7770856.html
2,工厂模式
https://blog.csdn.net/weixin_41843053/article/details/80853758
https://www.jianshu.com/p/ae2e22aa6147
3,Java单例的饱汉与饿汉模式
https://blog.csdn.net/sai739295732/article/details/62411016
https://blog.csdn.net/qq_37768482/article/details/77539850

JVM

1,JVM中的gc,Full GC
https://baijiahao.baidu.com/s?id=1632743030610982339&wfr=spider&for=pc
https://blog.csdn.net/hellozhxy/article/details/80649342
https://blog.csdn.net/weixin_39788856/article/details/80388002
https://www.cnblogs.com/jenkov/p/full_gc_old_gc_cms_gc.html
https://www.cnblogs.com/williamjie/p/9516264.html
2,垃圾回收及算法
垃圾回收算法:

垃圾收集器
年轻代
Serial:单线程
ParNew:多线程
Parallel Scavenge:使用复制算法,强调精确控制吞吐量
老年代
Serial Old:单线程,Serial 的老年代版本
Parallel Old:Parallel Scavenge 使用多线程和”标记-整理“算法 吞吐量优先
CMS:”标记-清除“算法,强调最短回收停顿时间
兼顾年轻代和老年代:
G1收集器:并行与并发,分代回收,"标记-整理"算法,可预测的停顿

3,假设有一个加法类从编译到最终使用的整个过程

4,如何判断对象是否需要被回收?两个相互引用的对象如何被回收

附:GCRoot的对象包括:

5,虚拟机栈异常类型以及复现代码
6,堆内存异常类型以及复现
7,直接内存怎么使用以及jvm对其管理

多线程

https://www.jianshu.com/p/125ccf0046f3

1,线程池的参数
public ThreadPoolExecutor(
int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
ThreadFactory threadFactory,
RejectedExecutionHandler handler
);

2,为什么要使用线程池
https://blog.csdn.net/a497393102/article/details/8597819
https://blog.csdn.net/Muz_victory/article/details/81216771

3,如何合理的配置线程池
CPU密集型 Ncpu+1
IO密集型 2*Ncpu

混合型任务 进行任务拆分
4,饱和策略/任务队列满了以后再来一个任务如何处理

5,JUC包里的东西,有哪些常用锁
https://www.cnblogs.com/doit8791/p/9131148.html
Lock,AQS,ReentrantLock,ReadWriteLock,LockSupport,Condition

6,线程同步的几种方法?
https://www.cnblogs.com/baizhanshi/p/7025974.html

7,线程同步使用哪些锁?
https://www.cnblogs.com/lixiangyang521/p/6861768.html

8,死锁和死循环都会导致程序hold住,怎么判断是死锁还是死循环
https://blog.csdn.net/wanglha/article/details/51133819

9,并发容器种类
https://www.cnblogs.com/ygj0930/p/6543877.html
https://blog.csdn.net/cdefggg/article/details/86426917
https://www.jianshu.com/p/7f50497b7f30

10,concurrenthashmap数据结构

11,线程状态(blocked waiting timed_waiting)
https://www.cnblogs.com/cowboys/p/9315331.html

12,等待和阻塞的区别
https://blog.csdn.net/woshiyigeliangliang/article/details/81116872

13,wait和sleep的区别
https://blog.csdn.net/kangkanglou/article/details/82221301

14,volatile变量i++
https://www.cnblogs.com/zemliu/p/3298685.html

spring

1,spring的主要特点?介绍一下AOP和IOC;AOP的实现方式;IOC的实现方式
AOP和IOC;AOP是面向切面编程;IOC是控制反转;spring AOC的实现是 jdk动态代理和cglib代理;
AOP的实现
https://blog.csdn.net/wyl6019/article/details/80136000
IOC的实现
https://www.cnblogs.com/neon/p/10929759.html
https://www.cnblogs.com/study-everyday/p/8566532.html

https://www.jianshu.com/p/4b31dacf3a63

附:常见的四种代理方式
https://blog.csdn.net/luanlouis/article/details/24589193
cglib和jdk动态代理的比较
https://blog.csdn.net/liangwenmail/article/details/78457106

2,spring中如何配置事务管理级别
https://www.cnblogs.com/cxyj/p/3906402.html

3,springMVC的处理流程
https://www.cnblogs.com/5ishare/p/8683971.html

4,一个Controller中会涉及到哪些注解
@Controller
@Autowire
@RequestMapping
@RequestParam
@RequestBody
@ResponseBody
@ModelAttribute

5,Spring和Spring boot的区别
https://www.jianshu.com/p/ffe5ebe17c3a
https://blog.csdn.net/wang_666_/article/details/80527113
https://www.codercto.com/a/27048.html

6,@transaction

分布式

1,分布式锁的实现
https://blog.csdn.net/qq_32924343/article/details/79814133
附:
CAP原理
http://www.ruanyifeng.com/blog/2018/07/cap.html
2,了解微服务吗?

操作系统 Linux

1,Linux Cpu的轮询方式

2,Linux中查询当前系统有多少个进程的指令

3,Linux的五种io模式,javaNIO
https://blog.csdn.net/datadev_sh/article/details/79241186
https://blog.csdn.net/Yufail/article/details/88825123
4,Linux 的swap分区
https://www.cnblogs.com/saneri/p/10319412.html

绪论

4,内核态与用户态,特权指令
内核态:又称管态,是操作系统管理程序执行时机器所处的状态。它具有较高的特权,能够执行包括特权指令的一切指令,能够访问所有的寄存器和存储区
用户态:又称目态,是用户程序执行时机器所处的状态。它具有较低的特权,只能执行规定的指令,只能访问指定的寄存器和存储区
特权指令:只能由操作系统内核使用的,不允许用户程序使用的指令,如IO指令,设置中断屏蔽指令,清内存指令,存储保护指令和设置时钟指令

5,中断与异常
https://blog.csdn.net/u014134180/article/details/78418428
什么是中断
https://www.cnblogs.com/jacklong-yin/p/11263052.html

6,系统调用
操作系统提供给用户程序请求内核完成某种功能的一种过程调用
https://blog.csdn.net/xiaomimi1993/article/details/81710623

进程管理

7,进程的组成

8,进程的状态与转换
https://blog.csdn.net/qwe6112071/article/details/70473905

9,内核级线程与用户级线程
https://www.cnblogs.com/feng9exe/p/7890934.html

10,常见的调度算法
a,先来先服务
b,短作业优先
c,优先级调度
d,时间片轮转
e,高相应比调度
f,多级队列调度
g,多级反馈队列调度

11,互斥的要求

12,互斥的实现
信号量机制;PV原子操作

13,经典同步问题
a,生产者消费问题
b,读者-写者问题
c,哲学家进餐问题
d,理发师问题

14,管程

15,死锁产生的原因和必要条件
原因:竞争资源;系统资源不足和进程推进顺序不当
必要条件:

16,死锁的预防
https://www.cnblogs.com/bopo/p/9228834.html
17,死锁代码demo
https://blog.csdn.net/wanglha/article/details/51133819

内存管理

1,交换与覆盖
2,存储管理方式
连续管理方式
非连续管理方式
3,MMU和快表
MMU
https://www.cnblogs.com/alantu2018/p/9002309.html
快表TLB
https://blog.csdn.net/weixin_36725931/article/details/85344814
TLB和MMU的区别
https://www.cnblogs.com/linhaostudy/p/7771437.html
4,虚拟内存
https://www.cnblogs.com/kexinxin/p/9939085.html
5,缺页中断与普通中断的区别
a,在指令的执行期间产生和处理中断
b,一条指令可以产生多个缺页中断

6,页面置换算法
a,OPT最佳置换算法
b,FIFO先进先出
c,LRU最近最少使用
d,CLOCK时钟置换算法
5,改进时钟算法

文件管理

1,软链接和硬链接
https://www.cnblogs.com/rswss/p/9466882.html

2,

设备管理

1,IO控制方式

上一篇 下一篇

猜你喜欢

热点阅读