java后端面试准备计划
其他
2020-04-15 18:58:18
阅读次数: 0
面试准备
准备方向
1. java基础(核心卷)
- 基本的数据结构:Java 数组,容器,其中hashmap是经常被问到的(红黑树底层实现也会问),原始类型的装箱
- 多线程(会用,知道区别),了解java常用的几种线程池类,线程和进程间的通信方式,常用的多线程工具,继承thread和实现runable接口实现的线程,底层有什么区别
- 几种常用的阻塞队列(ArrayBlockingQueue )
- 几种并发构件(栅栏)
- synchronized 关键字
- Lock(主要是 ReentrantLock)
- Java的类加载机制
- Java内存模型,Java内存交互操作,函数调用局部变量?内存分配发生了什么?
- Java注解的原理
- io模型
- 反射机制
- 懒加载的单例模式实现,
- Handler原理Service介绍
- 接口和抽象类的区别
2. 算法
- 剑指offer全题
- leetcode热题200
3. JVM(深入理解java虚拟机)
- 底层
- 线程池(多线程安全),jvm线程调度过程,了解 CAS 的基本原理(Unsafe ),JMM
- 内存区域,内存泄露
- 等待通知机制
- 垃圾回收
- jvm线程调度过程
- volatile,Countdownlatch
- 线程同步
- io多路复用
4. Mysql(学校的书本足够了)
- 索引优化,和 Innodb 索引底层实现(b树)
- 事务和隔离
- 同步锁sychonized
- 线程池
- sql执行的底层过程
- 多线程的数据统一性维护
Redis(多了解一下原理,写几个demo即可)
- 数据类型
- 底层实现
- redis分布式锁
- 消息队列
- 集群
计算机网络(学校的书足够了)
- tcp和udp:tcp 怎么保证可靠性,如何设计可靠的udp
- 可靠传输的实现·
- 拥塞控制
- http协议:具体到报文的基本作用
- 请求通信全过程
- session和cookie:
- 后端跨域配置
- https协议怎么增加安全性的
微服务(一个springcloud项目)
- 多节点缓存
- CDN 内容分发网络
- DNS 轮询
- 微服务架构的注册和管理
- 消息队列的使用
- 负载均衡
- 海量请求问题,海量数据问题
Netty(自己写项目即可)
- 模型(同步/异步,阻塞/非阻塞)
- BIO,NIO,AIO,IO多路复用等(了解概念即可)
- 内核态,零拷贝,网络io相关
操作系统(学校的书足够了,重点抓住)
- 用户态和内核态
- 虚拟内存
- fork()系统调用
- Linux 无名管道底层原理
- 读者写者问题
- 手撕一个阻塞队列
软件工程(设计模式的了解)
- 责任链模式
框架(springboot的可改造项目)
- springboot如何启动
- spring的ioc和aop
- spring mvc的原理
- 重视基础,建议看源码
项目(docker,springcloud,jvm调优)
- 重点介绍亮点,并画流程图。
各种问题
- 数据结构方面,很喜欢问树,还有基本的hash
- cookie跨域,cookie和session的区别
- 安全方面(xss)
- 浏览器的url栏里输入一个https的请求会发生什么?
- 为什么内部类可以访问外部类的private的方法?
- synchronized原理
- <? extends String> 有什么作用? List 与 List 这两个的getClass是否相对?
- 说抽象类与接口区别?说说从设计模式层面的理解,为什么要有这么2个东西?
- 手撕一个阻塞队列
发布了54 篇原创文章 ·
获赞 10 ·
访问量 2万+
转载自blog.csdn.net/qq_42031483/article/details/104103727