面试体系

Posted on 2019-09-17 19:33  李子树  阅读(211)  评论(0编辑  收藏  举报
基本知识 
1,标识符
2,运算符
3,关键字(权限,控制,导入,修饰,基本类型,异常,引用)
4,逻辑语句
5,常量 变量
6,数据类型
7,注释,分隔符
8,jvm
1,内存模型
1,类加载
2,执行引擎
3,内存
1,堆
2,栈
3,方法区
4,本地方法栈
5,计数器
4,本地库接口
2,垃圾回收
1,引用类型
强引用,软引用,弱引用,虚引用
2,判断对象是否无用
1,引用计数法
2,可达性算法
3,垃圾回收算法
1,标记-清除
2,标记-整理
3,复制
4,分代收集
4,垃圾回收器
1,serial
2,serial old
3,parnew
4,parial
5,parial old
6,cms
7,g1
面向对象
1,封装
1,封装具体实现
2,继承
1,子类继承父类
2,子类不能继承私有函数,和构造函数
3,多态
1,静态 重载
2,动态 重写
oop
1,注解
1,使用@interface自定义注解
2,元注解
1,target
2,document
3,retention
2,多线程
1,锁
分类
1,公平锁,非公平锁
2,可重入锁
3,独享,共享锁
4,互斥锁,读写锁
5,乐观锁,悲观锁
6,分段锁
7,偏向锁,轻量锁,重量锁
8,可中断锁
锁原理
1,cas 一个算法
2,aqs 一个同步框架
2,jdk实现的concurrent框架
3,线程
1,实现方式
1,继承Thread
2,实现runnable
3,使用futuretask
4,executorservice
2,线程状态
1,启动
2,等待
3,阻塞
4,运行
5,死亡
3,线程通信
1,volatile
2,notify,wait
3,countdownlatch
4,locksupport
3,io
1,流式
2,非流式
3,安全类
分类
1,io
2,nio
4,集合
1,collection
1,list
arraylist 数组
linkedlist  双向链表
2,set
hashset  map
sortedset map
2,map
hashmap 数组+链表
扩容机制
当元素个数超过 数组*加载因子时候,开始扩容,扩为原先的2倍
hashtable 散列表
hashset map
5,网络编程
1,协议
osi 模型7层 物理层 - 链路层-传输层-会话层-表示层-应用层
web 模型 4层 物理层- 链路层-传输层-应用层
2,web
1,tcp 传输 可靠 ,有连接
2,udp 传输 不可靠, 无连接
3,ip 链路层 无连接的数据包
4,tcp 3次握手
1,发起方发送数据包
2,接收方接收数据包,发送ack给发起方
3,发起方接收ack数据包
5,tcp 4次挥手
1,发起方发送数据包,fin报头
2,接收方接收数据包,发送ack给发起方
3,接收方发送数据包,fin报头
4,发起方接收数据包
6,常用的报头标识位
1,fin
2,ack
3,rst
4,syn
6,泛型
1,泛型类,泛型接口,泛型函数
2,安全简单,编译时候减少出错
3,实现原理
使用类型察除技术
7,反射
1,实现反射机制,动态获取类信息,执行函数
8,设计模式
1,原则
1,单一
逻辑简单,单一功能
2,里氏替换
子类扩展父类功能
3,依赖倒置
面向接口编程
4,接口隔离
针对接口提出的要求
5,迪米特
降低耦合
6,开闭
对扩展开放,对修改关闭
2,23设计模式
框架
spring
1,ioc
控制反转,依赖注入,将实例的生命周期交给spring容器管理
2,aop
切面编程,将系统功能抽离,复用
3,组成
spring core + spring aop + spring context + spring web
+ spring dao + spring orm +spring webmvc
4,事务 数据库的事务
1,事务特性 acid
1,原子性
2,一致性
3,持久性
4,隔离性
2,隔离级别 4个
1,读未提交
2,读已提交
3,可重复读
4,串行
5,默认
3,传播级别 7个
1,required
2,supports
3,mandatory
4,requires-new
5,not-supported
6,never
7,nested
5,注解
1,transactional
ssh
spring + struts2 + hibernate
hibenate:
1,工作流程
1,读取配置文件,解析配置文件
2,生成sessionfactory,建立连接
3,开启事务,执行业务
4,提交事务,关闭连接
struts2
1,工作流程
1,客户端提交请求,filterdispatcher调度actionMapper处理
2,filterdispatcher生成actionproxy 通过 configurationmanager,定位action,生成actioninvocation处理业务
2,返回结果,生成页面,返回前端
ssm 
springmvc+spring + mybatis
springmvc
1,工作流程
1,客户端发起请求,前端控制器dispatchservlet获取请求,读取配置文件,解析配置文件,生成handlerMapping,
2,handlerMapping找到对应的handler,并由handlerAdapter处理,执行业务,返回modelandview,model是数据,view是逻辑上的view
3,viewresolver处理modelandview ,找到实际view
4,dispatchservlet将model传给view,返回客户端
2,注解
1,requestMapping
2,controller
3,service
4,reposistory
5,requestparam
6,responseBody
7,autowired
8,resource
9,component
mybaits
1,读取配置文件,解析配置文件
2,生成sqlsessionfacotry,建立连接
3,开启事务,执行业务
4,提交事务,关闭连接
spring boot
spring-boot-starter-web
spring-boot-starter-data-jpa
1,注解
1,springbootapplication
2,enableautoconfiguration
3,
数据库
mysql
1,体系
1,connector
2,sql interface
3,解析器
4,存储引擎
1,myisam
1,.myd 数据文件
2,.myi 索引文件
3,支持表锁
2,innodb
1,支持行锁,事务,外键关联
3,memory
1,数据加载到内存
5,management service
6,查询优化器
2,文件
1,.frm 表结构
2,日志文件
3,优化
1,sql优化
2,mysql优化
3,连接配置优化
oracle
1,体系
服务器
tomcat
1,配置文件
1,server.xml
2,web.xml
3,catalina.properties
2,优化
1,tomcat优化
2,jvm优化
3,工作原理
1,connector
2,container
3,engine
4,host
5,context
6,servlet
jetty
1,配置文件
jetty.xml
2,优化
1,jvm
2,jetty
3,工作原理
1,connector
2,server
3,handler
jboss
1,配置文件
2,优化
1,jvm
2,jboss
nginx
1,配置文件
nginx.conf
2,优化
1,nginx
3,常用命令
nginx -s reload
nginx -t
nginx -c start nginx.conf
netty
1,并发高,传输快,封装好,基于nio的网络通信框架
2,体系
1,channel
2,future
3,event ,channelhandler
3,原理
中间件
消息中间件
ribbitemq
1,原理
消息推送模式
1,topic
2,direct
3,fanout
4,header
2,基于amqp协议的队列
3,组成
1,生产者
2,消费者
3,quence
4,exchange
服务框架
dubbo
1,原理
1,服务暴露 export
1,serviceconfig
2,dubboprotocol
2,启动netty
3,连接zookeeper
4,到zookeeper注册
1,registryprotocol
5,监听zookeeper
2,组成
1,生产者
2,消费者
3,注册中心
zookeeper
1,原理
1,维护了一个类似文件系统的数据机构,文件系统+通知机制
2,znode有四种类型
1,持久化
2,临时
3,持久化顺序
4,临时顺序
3,角色
leader,follower,observer,client
1,server的状态
1,lookig
2,leading
3,following
4,zad协议
   选主
leader崩溃,重新选leader,使用paxos算法,最后选出leader
   广播
    leader和server连接,确定是否有相同最大zxid,如果有同步,如果没有,leader将内容同步server
5,leader
1,恢复数据
2,维持与learner的心跳,接收请求
请求类型
1,ping
2,request
3,ack
4,revalidate
6,follower
1,接收leader信息,并处理
2,向leader发送请求
3,接收client请求
4,返回client
类型
1,ping
2,commite
3,sync
4,revalidate
5,uptodate
6,proposal
2,组成
1,文件系统
工具
持续集成
jenkins
1,安装
2,配置
3,使用
docker
1,安装
2,配置
3,使用
1,环境信息
2,生命周期
3,运维
4,镜像仓库
5,本地镜像
6,资源
7,日志
k8s
1,安装
2,配置
3,使用
4,组成
1,master
2,node
3,pod
4,replication controller
5,service
6,label
操作系统
linux
1,体系
1,进程调度模块
2,内存管理模块
3,文件系统模块
4,进程间通信模块
5,网络接口模块
windows
其他脚本语言
shell
1,#!开头 表示执行该文件的程序
2,#注释
3,变量
1,变量定义
2,分类
1,局部变量
2,环境变量
3,shell变量
4,运算符
1,算术
expr
2,关系
3,布尔
4,字符串
5,文件测试运算
5,字符串
6,数组
7,逻辑控制
8,函数
python
php