java架构师资料必备

面试技巧:  https://www.jianshu.com/p/e56ef17e72a3

自我介绍: https://blog.csdn.net/xiuwu1332/article/details/78763325

个人信息, 工作单位、工作地点、工作岗位、担任职务、工作内容,个人业绩        职业规划
离职原因

项目目的:   项目的意义是什么,为什么很重要,具体的目的是要完成哪些东西,达到什么样的效果
项目架构:   做技术的,当然还是要说技术,从架构说起,大概分那几部分,每个部分完成什么样的功能,技术上选择的语言,平台,通讯协议
你的贡献:    谈谈自己做了些啥,这个在面试的时候很重要:-),主要是条理性要好,完成了哪些模块,采用什么样的具体技术,碰到了哪些苦难,如何解决的,等等,能说出一些数字往往比较靠谱
目前状况:     目前开发了多少了,或者deploy了,有多少人用,访问量有多少之类的

项目的架构:
1.首先做了一层ngxin负载,和端口映射
2.SpringBoot微服务框架,搭建架构
3.架构中使用业务分层,基础层-common,认证层,业务层,网关层
4.前端(web端)访问后端数据,先通过网关层进行认证,判断是否需要鉴权,
    如果需要鉴权:
        需要鉴权:
            查看是否登陆:
                未登录拒绝,返回401状态
                如果登陆,进行鉴权,成功返回数据,不成功返回401    
        需要鉴权:
            放行
5.认证结果在redis中进行缓存token,数据存在mysql中

一、java 基础面试题 String,Integer

String

https://blog.csdn.net/qq_34490018/article/details/82110578 
https://blog.csdn.net/u011635492/article/details/81046174

Integer

https://www.cnblogs.com/Latiny/p/8432683.html

二、java 数据结构  list set map queue stack

集合

https://www.cnblogs.com/chenglc/p/8073049.html
https://www.jianshu.com/p/939b8a672070

ArrayList 扩容     默认10   int newCapacity = oldCapacity + (oldCapacity >> 1);
扩容的时候,原始长度为10,需要最小长度是11  计算的扩容长度是15 
if   newCapacity<=minCapacity 使用minCapacity
else  使用newCapacity

hashMap 为什么默认长度16扩容2倍.    扩容2倍,数据重新拷贝。根据hash & oldCap == 0,if true 在低位,false 放入高位(index+oldCap)
计算key的新hash  (h = key.hashCode()) ^ (h >>> 16)
1.8之前头插法   1.8之后尾插法

三、jvm内存模型,gc内存模型

gc内存模型  https://www.cnblogs.com/_popc/p/6096517.html
jvm内存模型  https://blog.csdn.net/u011635492/article/details/81046174

四、垃圾回收器,回收算法,

可达性讲解的比较全:  该文章内还有别的连接讲的也比较好
https://www.cnblogs.com/aspirant/p/8662690.html
http://www.mamicode.com/info-detail-2371340.html

五、jvm调优,调试工具,命令

命令+工具  https://www.cnblogs.com/wxisme/p/9878494.html    https://blog.csdn.net/qq_20597727/article/details/86619408

jinfo是用来查看JVM参数和动态修改部分JVM参数的命令
jstat : jstat -gcutil 11666 1000 3  11666为pid,每隔1000毫秒打印一次,打印3次
jstack -F 当使用jstack <pid>无响应时,强制输出线程堆栈。  jstack -l 11666 | more
jmap是用来生成堆dump文件   jmap -histo:live 11666 | more 输出存活对象统计信息
jhat是用来分析jmap生成dump文件的命令

工具   https://www.cnblogs.com/fengda/p/10126235.html

调优  https://blog.csdn.net/Javazhoumou/article/details/99298624   https://www.iteye.com/blog/uule-2114697

六、nio,序列化

io nio  https://www.cnblogs.com/jiangwz/p/9193776.html

bio nio aio   https://my.oschina.net/u/3471412/blog/2966696   https://blog.csdn.net/userofithis/article/details/90263294

七、多线程,线程池,高并发

线程池  https://www.jianshu.com/p/7ab4ae9443b9

交替打印奇偶数   https://www.jianshu.com/p/7a1612b1431c

锁的类型及使用  https://www.cnblogs.com/hustzzl/p/9343797.html

八、版本特性

1.8之前   https://blog.csdn.net/will_8000/article/details/81381356

1.8之后   https://www.cnblogs.com/javazhiyin/p/11394448.html   https://blog.csdn.net/ranyuangang/article/details/82855017

九、设计模式 

http://c.biancheng.net/design_pattern/

十、算法

5大算法   贪心  回溯  动态规划  分治 分支限界法    https://blog.csdn.net/qq_39147389/article/details/82252924

简单算法实现   https://www.cnblogs.com/juochiu/p/6417194.html    

https://blog.csdn.net/weixin_35381618/article/details/83748529

所有排序算法   https://www.cnblogs.com/guoyaohua/p/8600214.html

十一、类加载器

https://www.cnblogs.com/aspirant/p/7200523.html

十二、mysql

https://blog.csdn.net/caijunsen/article/details/83045985

https://www.jianshu.com/p/2a66b2ddc0fd

事务隔离级别

http://www.zsythink.net/archives/1233/

事务传播特性

https://blog.csdn.net/weixin_39625809/article/details/80707695

事务不生效的情况

https://www.cnblogs.com/heqiyoujing/p/11221093.html

索引不生效

https://blog.csdn.net/weixin_40197494/article/details/100035943

分布式锁

https://www.cnblogs.com/barrywxx/p/11644803.html

分布式事务

https://www.cnblogs.com/bluemiaomiao/p/11216380.html

https://www.cnblogs.com/mayundalao/p/11798502.html

死锁解决方案

https://www.cnblogs.com/tartis/p/9366574.html

锁的类型:间隙锁

mysql 优化  https://www.cnblogs.com/tufujie/p/9413852.html

int2 int10 区别

CAP理论

https://blog.csdn.net/qq_25353433/article/details/81283733

https://yq.aliyun.com/articles/692238

优化,索引左前缀特性

聚集索引,非聚集索引

innodb 主键是聚集索引,非主键索引的叶子节点内容是主键的值。在 InnoDB 里,非主键索引也被称为二级索引(secondary index)

MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址,非聚集索引

B Tree 

 

B+Tree 

可能搜索到某一层就结束了

想比:  2.非叶子结点的子树指针与关键字个数相同;5.为所有叶子结点增加一个链指针; 6.所有关键字都在叶子结点出现;

B+树只有达到叶子结点才命中

 

B*Tree

B*树分配新结点的概率比B+树要低,空间使用率更高

集群

http://www.sohu.com/a/296980325_468635

十三、缓存数据库 redis

https://blog.csdn.net/chinahuyong/article/details/82683155

https://stor.51cto.com/art/201910/604653.htm

redis 数据结构: list set map sortedSet(跳表)

sorted set :   https://blog.csdn.net/linyu19872008/article/details/72403962

redis 事务:  https://www.cnblogs.com/DeepInThought/p/10720132.html

redis击穿:  定义key的规则,缓存空对象,排队查询mysql(双重检查锁定),value永不过期,分布式锁只有一个去查库,布隆过滤器
redis雪崩:  key缓存失效时候尽可能错开,热key永不失效,队列减少查询次数,多级缓存,预更新缓存手动更新缓存,布隆过滤器
过期策略:  定时,定期,惰性   https://www.cnblogs.com/sunsing123/p/11093038.html
淘汰策略
购买第三方可靠性高的Redis云服务器;  提高高可用  哨兵 集群

一致性hash 解决缓存命中  虚拟节点

十四、消息队列

https://developer.51cto.com/art/201905/597172.htm

kafka 性能

https://blog.csdn.net/moonpure/article/details/80561562

十五、spring

如何架构一个项目  https://blog.csdn.net/a1405/article/details/90548028

springboot aop 原理  https://blog.csdn.net/woshilijiuyi/article/details/83934407

springboot启动过程

Spring 注解

  @configuration  @ComponentScan @Conditional @Import @ImportSource @Component

springboot 关键注解

    @SpringbootApplication  @SpringBootConfiguration  @EnableAutoConfiguration  @configurationProperties     

   @enableConfigurationProperties  @ConditionalOn----  @ConditionalMissing---  

   

Spring mvc 关键类  DispatcherSeverlet


mybatis  :  reuse batch sample


springcloud组件 :  eureka  feiginClient  hitricx  rebbon  zull   config

十六、rpc restfull

RPC框架 : java rmi ,RESTful API  http + json    springCloud ,Netty - Netty框架不局限于RPC,Dubbo是Alibaba开发的一个

RPC框架

分布式,幂等性  乐观锁  解决分布式一致性

rest 设计   软件架构风格   REST只是一种概念、风格或者约束

统一的接口  
层次化,资源是有层次的,应该在URL中体现
每个资源对应一个唯一标识
使用标准的方法来更改资源的状态
无状态,request有字描述性,需要提供足够信息
可缓存,恰当地缓存请求提高性能

如果一个系统满足了上面所列出的五条约束,那么该系统就被称为是RESTful的。

统一接口约束 资源和状态

十七、协议

协议类:http,tcp ip 

OSI(Open System Interconnect)

https://blog.csdn.net/qq_41517936/article/details/80886618

 

十八、

git,maven

十九、大数据

大数据,框架
加密算法

算法刷题  leetcode

 

 

主流公司面试题

https://github.com/0voice/interview_internal_reference

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值