春招准备_神韵
2020-01-15 14:07:02 0 举报
AI智能生成
春招计划--适合中大厂规模
作者其他创作
大纲/内容
时间安排:1.11-2.29。力扣每一天3道及以上,剩余时间安排如右图
计算机网络
1、url完成一次请求及响应全套流程
2、熟悉网络七层(TCP、UDP及常见的处于哪层)
3、熟悉:dns、http、tcp及udp协议基本协议,协同
4、了解HTTP长连接及短连接,他们的优点及缺点
5、TCP三次握手四次挥手全流程,会画会说清晰
6、浏览计算机网络面经、记录部分面经
Redis
1、Redis基本概念、5种数据类型命令(了解)
2、两种持久化方式AOF+RDB,优缺点
3、Redis协议RESP,手写Jedis客户端(简单实现)
4、Redis缓存穿透、击穿及雪崩概念,场景及解决方案
5、Redis应用场景归总,抢红包、订单、排行榜等场景分析,并写出Redis代码片段
6、Redis主从复制、高可用实现方案(哨兵实现机制)
7、缓存一致性解决方案,先入后删、先删后入
8、分布式--分布式锁解决方案 加锁、解锁保证原子性,设置锁超时
Mysql
1、Mysql基本概念及语句
2、Mysql慢查询分析 慢查找工具使用 查找低效SQL语句 以便进行优化
3、Mysql事务、特性,四种隔离及其产生的问题脏读、不可重复读、幻读解决方案
4、Mysql执行计划及索引进行SQL语句优化(十条规则 索引策略)
5、Mysql各种索引(主键索引、唯一索引等)
6、Mysql聚集索引与非聚集索引、Innodb/MyISAM两种存储引擎的区别
7、Mysql索引底层数据结构及B+树分析
8、Mysql各种锁(了解)
9、Mysql优化多种方式
10、Mysql分库分表 垂直拆分及水平拆分 Mycat中间件
JVM
1、JVM内存模型 各大内存区域的描述及作用
2、对象访问的两种方式及垃圾对象判定
3、三种垃圾回收算法和各种垃圾收集器(主cms、g1)
4、垃圾回收过程
5、对象分配原则(内存分配策略)
6、分析虚拟机栈和堆(线程共享区域)
7、分析对象的结构,对象头、实例数据、填充数据。重点分析对象头
8、分析对象的创建过程
9、分析类加载、类的生命周期、加载器及双亲加载机制
10、分析synchronize锁,锁升级过程(无锁状态、偏向锁状态、轻量级锁状态和重量锁状态),锁膨胀。结合对象头进行分析
11、分析volatile关键字,可见性、防止指令重排,和synchronize的区别
JUC
1、线程池--优势、参数解析、配置、合理使用
2、锁的必要条件、锁避免方式等
3、多线程博客1-3观看
4、AQS是什么,ReentrantLock与AQS的关系
5、重点分析ReentrantLock源码,手写伪代码。
6、ReentrantLock与synchronize的区别,选择
7、分析CAS机制,分析原子类源码对CAS的使用,CAS带来的三大问题及解决
8、ThreadLocal底层,保证Spring事务安全
9、分析ReentrantReadWriteLock,使用场景,性能等
Dubbo+ZK
1、什么是ZK?什么是Dubbo?概念,两者联系
2、Dubbo之RPC协议
3、Dubbo架构图解
4、Dubbo工作原理
5、ZK工作原理
MQ
1、什么是MQ(消息队列)?理解MQ的概念、优缺点(解耦、异步、削峰填谷;增加系统复杂度、消息重复、一致性问题)
2、削峰填谷的概念及原理,应用常见
3、了解RocketMQ的核心概念(nameserver等)
4、了解MQ从消息产生到消息被消费的整体流程
5、理解推和拉两种模式
6、适合MQ的场景:适合写入多,查询少的业务;相反查询多写入少应用Redis
7、MQ选择:ActiveMQ、RabbitMQ、Kafka、RocketMQ,根据支持并非量、协议等选择
Linux
1、Linux主目录用途了解
2、Linux基本命令了解(常用命令)
3、会使用Linux权限加减命令
Maven+Git+SVN
Maven
1、maven概念
2、Maven基本命令了解
3、Maven生命周期--compile、clean、test、package、install、run
4、Maven仓库,本地仓库、私服、中央仓库,清楚各个仓库作用
5、Maven的优点:坐标存在、一件构建、依赖管理、
Git
1、Git基本命令掌握
2、Git操作流程 add commit push,创建分支、切换分支等
3、Git Https上传项目及拉取项目,git clone address
4、Git SSH上传项目及拉取项目 配置秘钥
SVN
1、了解SVN基本命令
2、了解SVN版本回退
3、了解SVN冲突解决方案
Tomcat+Nginx
Tomcat
1、了解Tomcat基本使用
2、熟悉Tomcat启动流程
3、了解Tomcat底层原理
4、主要刷面试题,此点不上简历,怕被问到,多刷几道
Nginx
1、什么是Nginx,概念及应用场景
2、Nginx实现负载均衡原理
3、掌握Nginx反向代理
4、Nginx工作流程
分布式思想+分布式锁
1、什么是分布式,什么是微服务,两者区别
2、Dubbo与SpringCloud区别
3、系统架构设计,设计成分布式
4、分布式事务
5、分布式线程安全,ZK实现分布式锁、Redis实现分布式锁原理分析
6、查找阅读分布式资料
SSM
SpringMVC
1、springmvc.xml配置文件,三大组件--处理器适配器、处理器映射器、视图解析器
2、跳转和转发理解、区别
3、SpringMVC基于RESTFUL风格开发
4、SpringMVC核心组件,登录拦截器、图片上传处理器、时间处理器实际应用
5、SpringMVC整个运行流程,画图
6、SpringMVC处理器适配器处理过程,容器存储Controller及RequestMapping的url,存储及匹配过程
7、源码分析处理器映射器及处理器适配器,分析SpringMVC源码
Mybaits
1、Mybatis概念--开发只需专注SQL拼装,其它复杂过程可以交由Mybatis
2、数据源配置、映射器(mappers)的加载规律,及限制规则(动态代理要满足两个规则,pojo对象名称及目录必须和mapper保持一致)
3、映射配置文件参数了解:namespace、id、parameterType、resultType、#{}与${}传值区别
4、Mybatis整体架构,接口层、核心处理层、基础支撑层,画图
5、Mybatis基础支撑层:重点需要分析数据源、日记模块、缓存、反射模块
6、源码分析:日记模块,日记模块分析使用了哪些设计原则,Mybatis不支持日记实现类,如何接入第三方日记组件?日记加载优先级?如何优雅的将日记功能嵌入到Mybatis中
7、源码分析:数据源模块,常见的数据源,如何将工厂模式使用在数据源中
8、源码分析:缓存模块,Mybatis如何使用缓存,一级缓存,二级缓存
9、源码分析:反射模块,Mybatis使用反射实现接口式编程,分析过程
Spring
1、IOC以及DI的解释
2、AOP分析,让你设计AOP如何设计--对动态代理的了解必须十分清晰
3、Spring Bean的作用域
4、Spirng事务的隔离级别 及 事务中的事务传播行为
5、Sprng事务实现方式、事务管理的优点分析
6、Spring优点描述
7、Spring循环依赖解决
8、狂刷Spring面试题,不嫌多,准没错,!!!
SpringBoot
1、解释约定大于配置
2、解释启动器start原理
3、分析SpringBoot启动注解--SpringBootApplication
4、分析启动注解下的SpringBootConfiguration
5、分析启动注解下的EnableAutoConfiguration
6、分析启动注解下的ComponentScan注解
SE
1、集合框架--Collection(Set、List)、Map。主要分析HashMap、ConcurrentLock源码
2、深入反射,通过反射暴力操作各字段方法
3、多线程,线程状态、线程池等等
4、IO流操作、原理,BIO,以及分析部分NIO
5、泛型 上下界 泛型编程
6、六大设计原则,设计模式--手写单例、动态代理,对抽象工厂、工厂方法分析其区别
7、其它Java基础,多刷牛客及基础面试题
全面复习
祝自己在4月份之前收到大厂offer
0 条评论
下一页