美文网首页Java 杂谈互联网科技
月入3W的高级Java工程师都具备哪些能力?

月入3W的高级Java工程师都具备哪些能力?

作者: 90299fbffdea | 来源:发表于2018-10-16 21:06 被阅读12次

    很多面试,很多人员能力要求都有“Java高级工程师的字眼”,如果您真心喜欢Java,并且您刚起步,那么我今天简单分享一个Java高级工程师所应该具备的特质,希望能给你带来帮助。

    1、平静的心态

    和所有程序员一样,要写一手好的程序,没有好的心态是不行的。

    遇事不可急躁,不可轻言放弃。

    在程序开发过程中,尤其是初中级程序员,写出的程序或架构会遇到很多问题,其中一些问题比较弱智,而有些问题根本没有碰到过,于是不可太过急躁,应该逐个排查问题的最初源泉,将其干掉。急躁的心态去开发系统是对项目的一种不负责。急躁会让人学会将就,让人学会逃避。而我个人北京两年的简单生活,给我其中一个最大的历练也就是:我的心态更加平静了。

    相信,这样的心态也会有助于你其他方面的处事能力。

    为什么将心态列入其中,我是想说明:它不同于销售的职能,需要很大激情澎湃,而是需要静静的思考。

    2、一套烂熟于心的问题解决思路

    曾经有位程序开发的同事在QQ签名中写到:每解决一个bug,就给自己一个提升。的确,没有真正解决过无数的bug或问题的程序员,谈不上专家,谈不上高级程序员。而一个高级程序员正是从这种解决问题的过程中不断地历练自己,形成一套烂熟于心的问题解决思路,让自己强大的。

    我也简单说说Java程序员成长过程中经常遇到的一些问题,如果你一个也没遇到或很少遇到,那么您就是两个极端的人:要么初级入门,要么高级了,哈哈。

    基础扎实,熟悉 Java 编程,熟悉 Spring、MyBatis 等框架优先;

    熟悉 SQL 语句,熟练使用 MySQL 数据库;

    良好的沟通、表达、协调能力,富有激情,学习能力强;

    1、先自我介绍

    2、什么是多态?哪里体现了多态的概念?

    3、HashMap 源码分析,把里面的东西问了个遍?最后问是不是线程安全?引出 ConcurrentHashMap

    4、ConcurrentHashMap 源码分析

    5、类加载,双亲委托机制

    6、Java内存模型(一开始说的不是他想要的,主要想问我堆和栈的细节)

    7、垃圾回收算法

    8、线程池,自己之前看过,所以说的比较多,最后面试官说了句:看你对线程池了解还是很深了

    9、事务的四种特性

    10、什么是死锁?

    11、乐观锁和悲观锁的策略

    12、高可用网站的设计(有什么技术实现)

    13、低耦合高内聚

    14、设计模式了解不?你用过哪几种,为什么用,单例模式帮我们做什么东西?有什么好处?

    15、你参与什么项目中成长比较快?学到了什么东西,以前是没有学过的?

    16、项目中遇到的最大困难是怎样的?是怎么解决的?

    17、智力题(两根不均匀的香,点一头烧完要一个小时,怎么确定15分钟)

    18、你有什么问题想要问我的?

    19、问了菜鸟网络他们部门主要做什么?

    20、登录从前端到后端整个过程描述一遍?越详细越好,说到密码加密,网络传输,后台验证用户名和密码,Cookie 设置等。具体问我密码加密是前台还是后台加密,说了在后台加密?面试官说,那你做这个项目有什么意思?密码传输都是明文的,默认 HTTP 传递是明文传输,当时被面试官带进前台加密还是后台加密的沟里去了,没想到用 HTTPS ,后来后来的路上查了些资料才知道的,面试过程中他很想我说前台加密,但是前台加密算法那代码就摆在那里,很容易就给破解了吧,也没给点提示说 HTTPS,我只好投降

    21、写一个查询的 sql 语句

    22、线程同步的方法?Synchronized、Volatile、(面试官好像觉得 Volatile 不可以做到同步,我和他说了半天的 Volatile 原理 ,他竟然不认同,我开始怀疑他的实力了)、ThreadLocal、Atomic。

    说到这些了,我当时竟然没把他带进我我给他挖的坑里去(线程池,之前好好研究过呢,可惜了)

    23、Spring IOC 和 AOP 的理解?叫我写 AOP 的代码,我没写

    24、JDK 动态代理和 Cglib 代理区别?

    25、你觉得项目里面你觉得哪些技术比较好?我指了两个,然后他也没有问下去。

    26、解释下 XSS 攻击

    27、Spring 和 SpringBoot 的区别?

    28、JVM 垃圾回收算法?分代中为什么要分三层?

    29、OOM 是什么?什么情况会发生?

    30、你觉得你有啥优点?

    面试大公司基本都会问的技术,也是大公司经常用到的一些技术

    性能调优

    性能优化如何理解

    性能基准

    什么是性能优化

    衡量标准

    JVM调优

    jvm虚拟机的内存解析

    垃圾收集器

    实战调优案例与解决方案

    JVM运行时区

    Java程序员性能优化

    优雅的创建对象

    注意对象的通用方法

    类的设计陷阱

    泛型需要注意的问题

    java方法的那些坑

    程序设计的通用规则

    Tomcat

    线程模型分析

    生产环境配置及调优

    运行机制及框架

    Mysql

    探析BTree机制

    执行计划深入分析

    Mysql索引优化详解

    慢查询分析与SQL优化

    应用框架源码解读

    Spring IOC

    Spring Aop

    Spring MVC

    Spring5的新特性

    Mybatis

    Spring IOC

    SpringFrammework体系结构

    源码分析

    BeanFactory源码分析

    BeanDefiniton源码分析

    Bean生命同期

    依赖实现

    Spring Aop

    Aop源码分析

    transaction事物分析

    Springcache框架源码分析

    Spring MVC

    MCV简介与设计思想

    SpringMVC组成

    源码解读DispatchServlet

    Spring5新特性

    容器增加

    函数式编程

    webFlux模块介绍

    kotlin介绍

    Testing改进

    兼容性问题

    Mybatis

    mybatis组成

    核心源码分析

    手写Mybatis

    分布式架构

    互联网分布式架构是非常重要的一个技术,基本上所有的大公司都会用分布式

    分布式架构思维

    大型互联网架构演进过程

    架构师应具备的分布式知识

    主流分布式架构设计详解

    架构开发基础

    多线程开发

    高性能NIO框架

    架构核心服务层技术

    服务的前世今生

    深入理解通讯协议

    基于 分布式RPC解决方案

    dubbo全解析

    架构关键基础设施

    分布式环境指挥官zookeeper

    分布式消息通讯异步与MQ

    分布式缓存

    数据存储SQL&NoSQL

    高并发分流技术Nginx

    分布式解决方案

    分布式解决方案

    Session跨域共享实战

    分布式事物解决方案实战

    分布式锁解决方案实战

    分布式单点登录实战SSO

    分布式调度任务系统

    分布式配置中心

    微服务架构技术

    微服务这块应该不用多说了,知道微服务技术的至少能多加5k薪资

    SpringBoot

    SpringCloud

    Docker虚拟化技术

    SpringBoot

    与微服务的区别于联系

    快速构建SpringBoot工程

    SpringBoot核心组件剖析

    快速集成mybatis实战

    快速集成Dubbo及案例实战

    构建集成 redis及案例实战

    构建Swagger插件实现API

    管理及接口测试体系

    SpringCloud

    Zuul路由网关详解源码探析

    Ribbon客户端负载均衡原理

    Feign声明式服务调用方式

    Eureka注册中心构件

    Config配置服务中心

    svn、git快速集成

    Sleuth调用链路跟踪

    BUS消息总线技术

    Docker虚拟化技术

    介绍、安装与使用

    compose部署脚本

    service服务编排

    redis分布式集群部署

    docker file构建

    通过maven插件打包镜像

    部署及运行应用程序kubernetes编配

    构建Mysql集群实战

    高可用SpringCloud微服务与docker集成实现动态扩容实战

    团队协作开发

    这个是常用的开发工具类的,提升团队效率

    Git

    Maven

    Jenkins

    Sonar

    说到这里,也给大家推荐一个架构交流学习群:828545509,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析

    ,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,相信对于已经工作

    和遇到技术瓶颈的码友,在这个群里会有你需要的内容。

    点击链接加入群聊【Java高级架构师学习群】:https://jq.qq.com/?_wv=1027&k=5T2kMGl

    下面是一些免费资料的展示。

    相关文章

      网友评论

        本文标题:月入3W的高级Java工程师都具备哪些能力?

        本文链接:https://www.haomeiwen.com/subject/zydkzftx.html