我要进阿里(修炼中)

自我介绍

java SE

   Java集合比如说HashMap和ConcurrentHashMap我觉得,你最好在平时能去耐心读一下源码,搜一搜相关的博客,最好能知道每个参数为什么设置成这么大?有什么好处?为什么?你会发现不少东西,网上也有很多视频可以去学。

  JUC包,毫无疑问的,你得去学,哪怕你平时编程根本不去用,但是你得会,只得知道有这个东西,你至少得知道aba,cas,aqs,unsafe,volatile,sync,常见的各种lock,死锁,线程池参数和如何合理的去设置,你必须明白自旋,阻塞,死锁和它如何去定位,oom如何定位问题,cpu过高如何定位等基本的操作,你可以没有生产调试经验,但不代表你可以不会top,jps,jstack,jmap这些可能会问的东西。以及可能衍生的jmm模型和mesi协议等。

  sync的底层实现,锁优化,和lock的对比等

   线程池参数设定,为什么这么设定,作用?7大参数

java并发编程

扫描二维码关注公众号,回复: 10420256 查看本文章

JVM

   JVM毫无意外,大厂必须问,垃圾回收算法,垃圾收集器,jvm内存模型,每个区域用途,各种oom的种类,jvm调优经验,没有你也要做过,自己去设置启动参数,知道常见参数的含义,类加载过程,双亲委派,什么时候young gc,full gc,各种情况进入老年代的方式,你知道的越多越好,因为吹起来就越自信,举个例子,逃逸分析是什么?markword里面有什么?

   jvm参数调优详细过程,到为什么这么设置,好处,一些gc场景,如何去分析gc日志

垃圾回收

设计模式

数据库

   Mysql,事务,锁,索引,b+树,主从这些你必须会

中间件

zookeeper

   一般顺势会提到zk,选举算法,分布式锁等

redis

   Redis,必须会的,我这方便还算懂得多点,可以和面试官大战几个回合吧,应该不至于上来被打趴下,单线程模型,aof,rdb,rewrite,主从,cluster,哪些类型,不要再说常规的5个了,多说几个让你区别其他小哥,包含一些缓存常见的问题击穿、穿透、雪崩、数据一致性等,你必须会,不会基本没戏,一致性hash,布隆过滤器的原理,为此我还去了解了geohash的原理以及google s2的原理,底层数据结构sds和跳表等,你多学点,准没错

  redis数据结构,使用场景,微博场景使用redis如何去设计用户关系

消息队列

   Mq ,我用的rocketmq,你得知道为什么用,重复消费,顺序消息,事务消息,高可用,消息丢失,挤压场景,整个消息发送消费的流程,读过源码更佳,更好吹

  还有就是一些分布式事务实现,架构实现,比如抢红包,高并发下单等常规的场景设计,你来设计,你怎么去设计?多找一些大牛或者上网自己查,帮你看看有哪些漏洞,有那些解决方案?业界有哪些好的中间件?

后台框架

spring

   Spring,最好能抽空看看源码,最起码bean的生命周期,如何解决循环依赖,父子容器,还有boot的启动流程,事务实现原理,动态代理原理等,你知道越多越好。

  spring的循环依赖如何解决?为什么要三级缓存?

springmvc

mybatis

springboot

springcloud

dubbo

   Dubbo,因为我用的是dubbo,而且我写了,这个也是高频,写了必须问的,他的设计框架,负载均衡,spi机制

计算机网络

  网络,http,tcp,https,udp,7层网络协议等,最好结合自己理解,背,你都要背下来。   

  Netty的话,零拷贝,bio,nio,aio,架构设计怎么样子的?用过看过更好

项目实战

  这个项目里给里最大的挑战是什么,最大的亮点在哪?

  结合你项目问你如何设计,提出漏洞,你怎么解决?如何改进,万一挂了?加一台机器有没有问题?如果我非要不出问题怎么办?

   高并发下单扣库存场景如何设计

算法

开发性问题:

1:说出几本觉得最有意义的技术书籍,或者最近看了什么书

2:你最擅长那方便的技术

3:你遇到最难的技术问题,你是怎么解决的

4:你说说自己最大的缺点和优点

5:你有什么问题要问我吗?

6:你平时是怎么学习Java的呢?

猜你喜欢

转载自www.cnblogs.com/myseries/p/12602370.html
今日推荐