软件技术专业-就业提示(三、Java工程师必备技能)

基本信息:(略)

开发技能:

Java基础扎实,理解并能使用Java 多线程及线程池,集合框架,IO类库等,良好的编程习惯

熟悉主流Spring、Spring cloud、SpringBoot、SpringMVC、MyBatis等框架,快速上手新型框架

熟练使用Oracle、MySQL关系型数据库

熟悉利用redis来实现的缓存、分布式锁、分布式session、前后端分离、页面静态化、秒杀优化等技术

熟悉dubbo+zookeeper(分布式服务框架)、webService、HttpClient远程服务调用技术

熟悉rabbitMq消息队列

熟练使用Eclipse,MyEclipse做Junit单元测试

熟练的优化能力(代码优化、业务优化、sql优化等)

熟练使用tomcat服务器、SVN版本管理工具、Maven项目构建工具、FindBugs项目管理工具

熟练使用js、jQuery、ECharts等前台集成UI框架技术

掌握编写接口文档和接口开发

具有一定的开发小组管理经验、能够完成公共组件的封装

熟悉linux常用命令、redis服务部署、RabbitMQ的安装、MySQL数据库的安装使用

了解nginx

底层知识:

1. Java SE,就是java基础、JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合、更高效,这些内容直接看源代码就OK了。


2. 其他一些有名的用的比较多的开源框架和包,Netty网络框架,Apache common的N多包,Google的Guava等等,也可以经常去Github上找一些代码看看。


3. .多线程并发编程,现在并发几乎是写服务端程序必须的技术,那对Java中的多线程就要有足够的熟悉,包括对象锁机制、synchronized关键字,concurrent包都要非常熟悉。


4. JVM的一些知识,不需要熟悉,但是需要了解,这是Java的本质,可以说是Java的母体, 了解之后眼界会更宽阔,比如Java内存模型(会对理解Java锁、多线程有帮助)、字节码、JVM的模型、各种垃圾收集器以及选择、JVM的执行参数(优化JVM)等等。


5. 一些常用的设计模式,比如单例、模板方法、代理、适配器等等,以及在Java SE和一些Java框架里的具体场景的实现,这个可能需要慢慢积累,先了解有哪些使用场景,见得多了,自己就自然而然会去用。


6.I/O,Socket编程,首先要熟悉Java中Socket编程,以及I/O包,再深入下去就是Java NIO,再深入下去是操作系统底层的Socket实现,了解Windows和Linux中是怎么实现socket的。


7. Javaweb开发的框架,比如Spring、iBatis等框架,同样他们的原理才是最重要的,至少要知道他们的大致原理。


8. 常用数据库(Oracle、MySQL等)、SQL语句以及一般的优化。


项目经验:(Demo)

项目经历:

项目一:2017.02-至今 ****湖北网上营业厅

软件环境: Struts2+Spring + Mybatis + duboo + zookeeper + nginx + weblogic

开发工具: Eclipse + Oracle+ Tomcat8.0 + JDK1.8 + SVN + Ant

责任描述: 主要参与湖北移动天猫对账重构;网厅在线号卡销售流程技术方案选型与设计开发,订单管理,数据库优化以及相关文档编写;融合家庭宽带充值缴费重构优化;京东物流系统开发对接;带领新人等

项目描述: 本项目为一个网上购物平台,包含前台购物平台,我的移动平台,后台管理系统。前端网站主要是一个形成订单的过程,涉及了选号,套餐,流量专区,宽带专区,增值业务,手机以及智能硬件,其中选号与宽带专区为移动首推重点业务;前台购物平台主要是一个形成订单的过程,涵盖首页的产品导航展示,充值缴费,产品的订购。我的移动平台

主要包括个人信息,花费账单,套餐使用量,增值业务,上网日志,历史记录,我的宽带等;后台管理模块主要包括权限模块,产品配置,问题处理中心,订单管理模块(派单,审批,流转等功能)等  


上一篇:Android -- Camera聚焦流程


下一篇:智能硬件的门槛和智能机器的圈子