全国服务热线:400-035-8011

位置:太原达内IT培训学校 > 学校动态 > 太原中Java工程师要掌握的一些技能

太原中Java工程师要掌握的一些技能

来源:太原达内IT培训学校时间:2022/2/9 15:52:57

  近三年,其实都是在做一个项目,项目是一个大型的多节点部署的项目,做了好几个版本,中间用到了很多技术和框架,也用了一些管理工具和敏捷实践。我这里不是来说项目的,因为较近看了一些招聘信息,结合项目中用到的一些知识和管理措施,作为一个程序员,需要去实时评估下自己当前的能力是否能跟上时代的步伐,所以,总结了下作为一个中Java开发人员或架构师,到底需要掌握哪些技能。
  当然,下述所列都是自己的看法,有兴趣的参考下,没兴趣的,就当看笑话了吧。
  Java基础
  1、List和Set的区别
  2、HashSet是如何增加不重复的
  3、HashMap是线程安全的吗,为什么不是线程安全的(较好画图说明多线程环境下不安全)?
  4、HashMap的扩容过程
  5、HashMap1.7与1.8的区别,说明1.8做了哪些优化,如何优化的?
  6、finalfinallyfinalize
  7、强引用、软引用、弱引用、虚引用
  8、Java反射
  9、Arrays.sort实现原理和Collection实现原理
  10、LinkedHashMap的应用
  11、cloneable接口实现原理
  12、异常分类以及处理机制
  13、wait和sleep的区别
  14、数组在内存中如何分配
  Java并发
  1、synchronized的实现原理以及锁优化?
  2、volatile的实现原理?
  3、Java的信号灯?
  4、synchronized在静态方法和普通方法的区别?
  5、怎么实现所有线程在等待某个事件的发生才会去执行?
  6、CAS?CAS有什么缺陷,如何解决?
  7、synchronized和lock有什么区别?
  8、Hashtable是怎么加锁的?
  9、HashMap的并发问题?
  10、ConcurrenHashMap介绍?1.8中为什么要用红黑树?
  11、AQS
  12、如何检测死锁?怎么预防死锁?
  13、Java内存模型?
  14、如何增加多线程下i++结果正确?
  15、线程池的种类,区别和使用场景?
  16、分析线程池的实现原理和线程的调度过程?
  17、线程池如何调优,较大数目如何确认?
  18、ThreadLocal原理,用的时候需要注意什么?
  19、CountDownLatch和CyclicBarrier的用法,以及相互之间的差别?
  20、LockSupport工具
  21、Condition接口及其实现原理
  22、Fork/Join框架的理解
  23、分段锁的原理,锁力度减小的思考
  24、八种阻塞队列以及各个阻塞队列的特性
  Spring
  1、BeanFactory和FactoryBean?
  2、SpringIOC的理解,其初始化过程?
  3、BeanFactory和ApplicationContext?
  4、SpringBean的生命周期,如何被管理的?
  5、SpringBean的加载过程是怎样的?
  6、如果要你实现SpringAOP,请问怎么实现?
  7、如果要你实现SpringIOC,你会注意哪些问题?
  8、Spring是如何管理事务的,事务管理机制?
  9、Spring的不同事务传播行为有哪些,干什么用的?
  10、Spring中用到了那些设计模式?
  11、SpringMVC的工作原理?
  12、Spring循环注入的原理?
  13、SpringAOP的理解,各个术语,他们是怎么相互工作的?
  14、Spring如何增加Controller并发的安全?
  Netty
  1、BIO、NIO和AIO
  2、Netty的各大组件
  3、Netty的线程模型
  4、TCP粘包/拆包的原因及解决方法
  5、了解哪几种序列化协议?包括使用场景和如何去选择
  6、Netty的零拷贝实现
  7、Netty的高性能表现在哪些方面
  分布式相关
  1、Dubbo的底层实现原理和机制
  2、描述一个服务从发布到被消费的详细过程
  3、分布式系统怎么做服务治理
  4、接口的幂等性的概念
  5、消息中间件如何解决消息丢失问题
  6、Dubbo的服务请求失败怎么处理
  7、重连机制会不会造成错误
  8、对分布式事务的理解
  9、如何实现负载均衡,有哪些算法可以实现?
  10、Zookeeper的用途,选举的原理是什么?
  11、数据的垂直拆分水平拆分。
  12、zookeeper原理和适用场景
  13、zookeeperwatch机制
  14、redis/zk节点宕机如何处理
  15、分布式集群下如何做到序列号
  16、如何做一个分布式锁
  17、用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗
  18、MQ系统的数据如何增加不丢失
  19、列举出你能想到的数据库分库分表策略;分库分表后,如何解决全表查询的问题
  20、zookeeper的选举策略
  21、全局ID
  数据库
  1、mysql分页有什么优化
  2、悲观锁、乐观锁
  3、组合索引,较左原则
  4、mysql的表锁、行锁
  5、mysql性能优化
  6、mysql的索引分类:B+,hash;什么情况用什么索引
  7、事务的特性和隔离级别
  缓存
  1、Redis用过哪些数据数据,以及Redis底层怎么实现
  2、Redis缓存穿透,缓存雪崩
  3、如何使用Redis来实现分布式锁
  4、Redis的并发竞争问题如何解决
  5、Redis持久化的几种方式,优缺点是什么,怎么实现的
  6、Redis的缓存失效策略
  7、Redis集群,高可用,原理
  8、Redis缓存分片
  9、Redis的数据淘汰策略
  JVM
  1、详细jvm内存模型
  2、讲讲什么情况下回出现内存溢出,内存泄漏?
  3、说说Java线程栈
  4、JVM年轻代到年老代的晋升过程的判断条件是什么呢?
  5、JVM出现fullGC很频繁,怎么去线上排查问题?
  6、类加载为什么要使用双亲委派模式,有没有什么场景是打破了这个模式?
  7、类的实例化顺序
  8、JVM垃圾回收机制,何时触发MinorGC等操作
  9、JVM中一次完整的GC流程(从ygc到fgc)是怎样的
  10、各种回收器,各自优缺点,重点CMS、G1
  11、各种回收算法
  12、OOM错误,stackoverflow错误,permgenspace错误
  1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的。
  2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的。
  3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的。
  4、觉得自己很牛B,一般需求都能搞定,但是所学的知识点没有系统化,很难在技术领域继续突破的。
  程序员的核心竞争力是什么?
  是学习能力。我们这个行业实在变化太快,“一招鲜,吃遍天”这种事情是不存在的,我们总会遇到从未接触过的新挑战,怎么办?学习。就如同一个的企业,它较有价值的地方在于它有无限的发展前景。那么一个的程序员,较有价值的地方就在于拥有无限的潜力。要知道,公司雇佣一个人,并不是因为他现在水平深浅,而是他能不能和公司一起成长,只看眼前的公司不会长久,只看眼前的员工没有未来。
  程序员到底何去何从?
  其实啰嗦了那么多,归根结底就是持续提升自己,就这么简单。把焦虑、嫉妒、迷茫的时间拿来充实自己,到了35岁你会发现,这真的是职业生涯的分岔路口,只不过我们的路通向美好。
  合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/2387/news/480716/违者必究! 以上就是太原达内IT培训学校 小编为您整理 太原中Java工程师要掌握的一些技能的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-035-8011