博客
关于我
用一份JAVA工程师的求职简历来说说求职简历怎么写
阅读量:726 次
发布时间:2019-03-21

本文共 5555 字,大约阅读时间需要 18 分钟。

Java就业指导

想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试前到底需要准备哪些事情呢?本文详细列举了这些内容,可以用作个人简历的内容,也可以作为面试时向面试官展示的专业技能特点。相信此文会对正在寻觅Java程序员(Java工程师)职位的freshman以及希望成为中高级Java开发者的junior都会有所帮助。  专业技能      初级一点(基本上就是大学生水平,页面写过一点,后台也能使用框架)      - 熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。      - 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。      - 对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用Spring MVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。      - 熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。      - 熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验。      - 熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用SQL和PL/SQL进行数据库编程。      - 熟悉面向对象的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。      - 熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。      - 熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和Enterprise Architect,熟练的使用Java开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。      中级      - Java基础扎实,熟悉多线程,线程池原理,对线程安全有深刻理解。阅读过部分JDK源码。      - 深入了解JVM虚拟机:内存模型、GC、垃圾回收算法、以及垃圾回收器,具有线上调优经验。      - 熟练使用Spring Boot、Spring、Spring MVC、MyBatis框架,并且对框架源码有学习了解。      - 对Elasticsearch、Logstash、Filebeat、Kibana 熟悉。了解es读写原理,底层存储原理。      - 深入了解Elasticsearch集群规划,具有es调优经验,阅读过部分源码,例如es中线程池。      - 深入了解网关技术,独立构建业务网关。使用Gateway、Nacos、Sentinel。      - 改造过阿里限流组件Sentinel源码,具备一定的源码阅读能力和改造能力。      - 熟悉MySQL存储引擎,索引,有SQL调优经验,熟悉分库分表,熟悉      - 对Redis 哨兵模式以及Cluster集群模式有了解,熟练搭建集群和使用。      - 熟悉MQ使用场景,熟练使用Kafka,用作内外网穿透,作为数据中转。      - 熟练使用Docker容器化技术、了解k8s。了解微服务,SpringCloud体系。      针对开发过程中的实践经验:      - 合理使用开发规约,写出简洁的代码。重构相关知识有所掌握,有过项目重构的经验。      - 在开发工作中大量使用设计模式,来提高程序可扩展性和可维护性。      - 熟悉Linux环境,熟悉Linux常用命令,熟悉shell脚本。      项目经验          项目介绍              本系统是X公司委托Y团队开发的用于Z行业的系统,系统包括A、B、C、D等模块。系统使用了Java企业级开发的开源框架Spring(Java企业级开发的一站式选择),以及前端技术jQuery库及其插件或Bootstrap框架。如果需要构建单页应用(SPA),最佳的方案是使用前端MVC框架(如AngularJS)和JavaScript模板引擎(如HandleBars)。在表示层中使用Spring MVC(MVC架构模式)的实现框架,通过Spring框架实现事务管理、日志、安全性等功能,通过Redis实现缓存服务。持久层使用MyBatis封装CRUD操作,底层使用MySQL关系型数据库。整个项目采用瀑布模型进行开发。          项目开发流程              需求分析              - 采用用例图、时序图、活动图等OOAD方法进行分析,设计界面原型以帮助理解需求和业务层设计时推导事务脚本。              - 制定需求规格说明书和项目计划书。              设计              - 从业务实体(领域对象)开始设计,产生类图和E-R图(概念设计阶段)。              - 确定分层架构:确定各层的技术实现方案,具体到使用的框架、数据库服务器、应用服务器等。设计事务脚本模式:将一次请求封装为一个方法或函数,结合数据访问对象(DAO)和数据传输对象(DTO)的使用。              - 进行正向工程(Java代码生成)和逆向工程(UML类图生成),设计数据库物理模型(ER图转换成表间关系图、建库和建表)。              编码              - 使用Java编写对应的业务逻辑、Service层、Controller层、DAO层、持久化层等代码。              测试              - 编写单元测试(JUnit工具)和集成测试,确保各模块的组装和测试。              - 进行系统测试和验收测试,确保整个系统符合需求规格说明书并通过验收。              交付和维护              - 编写用户手册、操作手册等文档。          项目管理              - 使用CVS/SVN/Git进行版本控制。              - 使用Maven或Gradle进行自动构建。              - 使用Hudson或Jenkins进行持续集成。          系统架构              - 负载均衡:使用F5、A10等设备。              - 应用服务器:Apache、NginX(作为HTTP服务器和反向代理)、Tomcat(Servlet容器)、WildFly(EJB容器)。              - 数据库服务器:MySQL、Oracle。          第三方工具(插件)应用              - 图表工具:基于jQuery的图表插件(如jQchart)、Chart.js、Highcharts等。              - 报表工具:Pentaho Reporting、iReport、DynamicReports等。              - 文档处理:POI、iText等。              - 工作流引擎:jBPM、OpenWFE、Snaker、SWAMP等。              - 作业调度:Quartz、JobServer、Oddjob等。              - 缓存服务:EhCache、Memcached、SwarmCache等。              - 消息队列:Open-MQ、ZeroMQ等。              - 安全框架:Shiro、PicketBox等。              - 搜索引擎:IndexTank、Lucene、ElasticSearch等。              - Ajax框架:jQuery、ExtJS、DWR等。              - UI插件:EasyUI、MiniUI等。              - 富文本框:UEditor、CKEditor等。          面试提问              项目背景问:              - 项目是为哪家公司开发的?项目的投入是多少?              - 有多少人参与了项目开发?团队中测试人员、开发人员、项目经理的比例是多少?              - 项目开发了多长时间?项目总的代码量有多少?你的代码量有多少?              项目问:              - 项目采用了什么样的开发模型或开发流程?技术选型是怎样的?              责任和收获问:              - 你在项目中承担了怎样的职责?是否经常开会或加班?              - 项目完成后有哪些收获或是经验教训?              难点问:              - 项目中最困难的部分是什么?如何解决团队开发中遇到的各种冲突?          常见错误              - 只在计算机上练习,而不注重行为面试准备。              - 不进行模拟面试训练,缺乏自信。              - 试图死记硬背答案。              - 代码不够严谨,如果不写测试代码。              - 轻言放弃。          面试反问              - 乐于挑战面试官的技术选择并提出改进建议。              - 具体了解公司的技术栈,针对性的提出方案。              - 提出解决实际项目问题的具体思路。          S.A.R.法则              输出结果          算法题解法              算法题可以通过以下五种方式解决:              1. 举例法:通过举一些典型案例发现其中的一般规律。              2. 模式匹配法:通过发现问题的本质模式,找到解决问题的关键。              3. 简化推广法:简化问题规模和数据类型,找到通用的解决方法。              4. 简单构造法:通过构造一些简单的步骤,逐渐扩展成最优方案。              5. 数据结构头脑风暴法:结合自己熟悉的数据结构,寻找最优解法。          录用谈判              1. 具体说明你想要的待遇内容。              2. 如果在薪资方面有要求,可以适当降低,提出比预期稍高的条件。              3. 重视工作环境、科室发展机会等,避免只关注薪资待遇。              4. 采用最适合各方的谈判方式,通常可以通过电话或邮件沟通。          自我评价              1. 学习能力:技术发展日新月异,持续学习是必须的。              2. 团队意识:注重与团队成员的协作,充分发挥团队力量。              3. 抗压能力:面对高强度的工作环境,保持稳定的心态。          ps:作为面试官,我在筛选简历时会重视以下几个加分项:              1. 参加过省级比赛、算法比赛获奖等。              2. 熟悉多线程、深入了解JVM虚拟机,有调优经验更佳。              3. 熟悉设计模式和设计原则。              4. 熟悉至少一个消息队列和Linux环境。              5. 毕业于Top-tier学校更佳。          减分项:              1. 技术Stack描述与项目经验有较大出入。              2. 工作频繁跳槽情况。              3. 简历内容稀疏、缺乏重点。              4. 重复性项目经验过多,点餐系统、商城系统、外卖系统等过于常见。              建议每段工作历程覆盖不同的技术和项目,以体现专业能力的提升。同时,面试官更关注候选人解决问题的能力和项目经验,而不是繁杂的技术描述。

转载地址:http://gyfgz.baihongyu.com/

你可能感兴趣的文章
mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
查看>>
mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
查看>>
MySQL 8.0 恢复孤立文件每表ibd文件
查看>>
MySQL 8.0开始Group by不再排序
查看>>
mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
查看>>
multi swiper bug solution
查看>>
MySQL Binlog 日志监听与 Spring 集成实战
查看>>
MySQL binlog三种模式
查看>>
multi-angle cosine and sines
查看>>
Mysql Can't connect to MySQL server
查看>>
mysql case when 乱码_Mysql CASE WHEN 用法
查看>>
Multicast1
查看>>
mysql client library_MySQL数据库之zabbix3.x安装出现“configure: error: Not found mysqlclient library”的解决办法...
查看>>
MySQL Cluster 7.0.36 发布
查看>>
Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
查看>>
MySQL Cluster与MGR集群实战
查看>>
multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
查看>>
mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
查看>>
Multiple websites on single instance of IIS
查看>>
mysql CONCAT()函数拼接有NULL
查看>>