3年经验的Java程序员应具备的专业技能

  1. 基本语法
    • 这包括static、final、transient、volatile等关键字的作用,foreach循环的原理等等。
  2. 集合
    • List、Map、Set实现类的底层实现原理,实现类的优缺点。
    • 集合要掌握ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、HashSet的实现原理,流利作答,还有CopyOnWrite容器和Queue熟悉。
    • ConcurrentHashMap的锁分段技术
    • ConcurrentHashMap的读是否加锁,为什么
    • ConcurrentHashMap的迭代器是强一致的迭代器还是弱一致性的迭代器
  3. 设计模式
    • 项目中用到的哪些设计模式,如何使用
    • 知道设计模式的优缺点
    • 能画出常用的设计模式的UML图
  4. 多线程

    • Thread和Runnable的区别和联系
    • 多次启动start一个线程会怎么样、线程有哪些状态。
    • java.util.concurrent
    • 常用的线程池,以及它们之间的区别和联系,线程池的实现原理,实际的使用场景。
    • 线程同步、锁。synchronized和ReentrantLock的区别、synchronized锁普通方法和锁静态方法、死锁的原理及排查方法。
  5. IO

    • 文件IO和Socket IO,文件IO都是阻塞IO。
    • Socket IO中阻塞/非阻塞区别、同步/异步的区别,理解阻塞IO、非阻塞IO、多路复用IO、异步IO这四种IO模型,Socket IO如何与四种模型相关联。NIO并不是严格意义上的非阻塞IO而应该属于多路复用IO,NIO会阻塞在Selector的select方法上。
  6. JDK源码

    • List、Map、Set实现类的源代码
    • ReentrantLock、AQS(AbstractQueuedSynchronized)的源代码
    • AtomicInteger的实现原理,主要说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的
    • 线程池的实现原理
    • Object类中的方法以及每个方法的作用
  7. 框架

    • Spring初始化bean的时候做一些事情该怎么做、想在bean销毁的时候做一些事情该怎么做
    • MyBatis中的$和#的区别
    • 框架实现原理。Spring AOP的实现原理
  8. 数据库

    • union和union all的区别、left join、几种索引以及区别
    • SQL优化
  9. 数据结构和算法分析

    • 数组、链表
    • 栈与队列
    • AVL树、红黑树(二叉查找树、平衡树、AVL树和红黑树区别)
    • 问题:索引使用的是哪种数据结构?使用为什么使用树来实现
    • 算法分析,不会,不想研究就算了,晕、、、放弃了、
  10. Java虚拟机

    • Java虚拟机的内存布局
    • GC算法及几种垃圾收集器
    • 类加载机制即双亲委派模型
    • Java内存模型
    • happens-before规则
    • volatile关键字使用规则
  11. Web方面

    • 分布式Session的几种实现方式(常用的四种)
    • Session和Cookie的区别和联系以及Session的实现原理
    • web.xml
    • Filter、Servlet、Listener
    • get/post区别、forward/重定向区别
    • Https的实现原理
    • 一致性Hash算法
    • SOA、RPC
  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值