一份JAVA工程师的求职简历来告诉你求职简历怎么写(上)
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、垃圾回收算法、以及垃圾回收器,具有線上調優經驗。
熟練使用springboot、spring、springMVC、mybatis框架,并且對框架源碼有學習了解。
對Elasticserch,logstash,Filebeat,kibana 熟悉。了解es讀寫原理,底層存儲原理。
深入了解Elasticserch集群規劃,具有es調優經驗,閱讀過部分源碼,例如es中線程池。
深入了解網關技術,獨立構建業務網關。使用gateway、nacos,sentinel。
改造過阿里限流組件sentinel源碼,具備一定的源碼閱讀能力和改造能力。
熟悉Mysql存儲引擎,索引,有sql調優經驗,熟悉分庫分表,熟悉 ShardingSphere
對Redis 哨兵模式以及 Cluster集群模式有了解,熟練搭建集群和使用。
熟悉MQ使用場景,熟練使用kafka,用作內外網穿透,作為數據中轉。
熟練使用Docker容器化技術、了解k8s。了解微服務,springCloud體系。
合理使用開發規約,寫出簡潔的代碼。重構相關知識有所掌握,有過項目重構的經驗。
在開發工作中大量使用設計模式,來提高程序可擴展性和可維護性。
熟悉linux環境,熟悉linux常用命令,熟悉shell腳本。
說明:上面羅列的這些東西并不是每一項你都要爛熟于心,根據企業招聘的具體要求可以做相應的有針對性的準備。我個人覺得前6項應該是最低要求,是作為一個Java開發者必須要具備的專業技能。
這個分了初級和稍有有點經驗的兩種。初級有點的,大概就是都知道有這么個東西,也會有。而有經驗以后,應該是懂底層原理了。另外偏向的是優化,調優。另外對高并發,高可用的分布式服務都有一些經驗,能夠去應對單點故障。對JVM有比較深刻的認識。
項目經驗
項目介紹
本系統是X委托Y開發的用于Z的系統,系統包括A、B、C、D等模塊。系統使用了Java企業級開發的開源框架E以及前端技術F。表示層運用了G架構,使用H作為視圖I作為控制器并實現了REST風格的請求;業務邏輯層運用了J模式,并通過K實現事務、日志和安全性等功能,通過L實現緩存服務;持久層使用了M封裝CRUD操作,底層使用N實現數據存取。整個項目采用了P開發模型。
說明:上面的描述中,E通常指Spring(Java企業級開發的一站式選擇);F最有可能是jQuery庫及其插件或者是Bootstrap框架,當然如果要構建單頁應用(SPA)最佳的方案是前端MVC框架(如AngularJS)和JavaScript模板引擎(如HandleBars);
G顯然是MVC(模型-視圖-控制),最有可能的實現框架是Spring MVC,除此之外還有Struts 2、JSF以及Apache為JSF提供的MyFaces實現,可以使用JSP作為MVC中的V,也可使用模板引擎(如Freemarker和Velocity)來生成視圖,還可以是各種文檔或報表(如Excel和PDF等),而Servlet和自定義的控制器是MVC中的C,當然Spring MVC中提供了作為前端控制器的DispatcherServlet;
J通常是事務腳本,K應該是AOP(面向切面編程)技術,L目前廣泛使用的有memcached和Redis;M的選擇方案很多,最有可能的是Hibernate和MyBatis,也可以兩種技術同時運用,但通常是將增刪改交給Hibernate來處理,而復雜的查詢則由MyBatis完成,此外TopLink、jOOQ也是優秀的持久層解決方案;
底層的數據存取傳統上是使用關系型數據庫,可以是MySQL、Oracle、SQLServer、DB2等,隨著大數據時代的來臨,也可以采用NoSQL(如MongoDB、MemBase、BigTable等)和其他大數據存取方案(如GFS、HDFS等);項目的開發模型P可以是瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型、RAD模型等。
文章來源:網絡 版權歸原作者所有
上文內容不用于商業目的,如涉及知識產權問題,請權利人聯系小編,我們將立即處理
總結
以上是生活随笔為你收集整理的一份JAVA工程师的求职简历来告诉你求职简历怎么写(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【常见笔试面试算法题12续集五】动态规划
- 下一篇: python合并pdf 加书签_Pyth