如果你是面试官,我来应聘一年java后台开发经验,你会问什么?
问点JAVA基础知识,偏向规范类的
问点你简历上做过的内容
问点数据库基础,多表查询,汇总之类的
问点框架实际用到的(结合将要安排你的工作内容问)
说明:一年工作经验太深的内容没什么可问的。不想面试造火箭,工作拧螺丝的那种。既然筛选让来面试,你之前一年多工作经历很契合现在公司的业务,所以问点实际的。性格好,好培养,脚踏实地爱学习就可以。
当然了,每个公司对一年开发经验的工程师所必须掌握的技能定义是不一样。
作为面试官,就拿我们公司来说吧:首先重要的是逻辑思维要清晰,其次我们再说技能吧。
- javaSE基出要牢靠,要尽可能的掌握String的API,常用的集合Arraylist、LinkedList有什么特点,什么场景下选用哪种集合;hashmap的特点,如何遍历;异常分类,异常处理;IO流会熟练使用。
- 有编码功底,手写一些简单的算法。例如:手写冒泡排序,斐波那契数列递归求第N项。
- 数据库,可以编写多表联查的SQL,知道数据库索引类型,数据库的事务,知道如何通过创建索引优化SQL。
- 框架方面:mybatis要熟练使用,可以不用理解原理,spring框架的特点;springmvc常用的注解;拦截器、过滤器有什么作用;springboot要做到熟练使用。
java的基础方面的:
String,StringBuffer,StringBudilder区别
ArrayList,vector 等的区别
hashMap,hashTable 的区别
多线程的实现方式和方法了
传参数方面的 :
考传的是本身还是副本
如 a(String value); a方法的value参数是传本身还是副本
框架知识:
比如spring 依赖注入,事务深入点的话 拦截器等
db方面的:
简单考下你的sql , 可能会写几个表 要查什么让你写sql 主要考多表连接查询,分组,分组后的查询,排序,取最大最小之类的 看你sql熟练否
一般的java项目后台都有什么技术,比如Spring MVC,shiro还有什么技术?
Java web现在流行的技术是spring boot ,spring cloud, redis,mq, mybatis,spring security等,一般前后端分离
本身是java后台开发,未来工作方向有哪些?
分布式开发,大数据方面,还有高并发等方面都是挺不错的。
人工智能,需要大量的数据做支撑,用Python处理起来更加高效,也更方便。
Java后期朝分布式方向发展学习路线,可以参考一下。
Java提升学习主要内容:分布式、设计模式、前端技术、网络支付、全文搜索引擎、Docker、WebService等。
第二阶段:NoSQL
第三阶段:设计模式
第四阶段:分布式技术
第五阶段:综合项目
详细的可以到“如鹏网”上去了解一下,有网络的地方就可以学习,根据自己的时间来灵活安排学习进度,有新的课程更新了,也是可以继续来学习的。
Java后端开发的发展方向还是比较多的,目前做后端开发的实际任务量还是以Web服务为主,在未来一段时间内Web后端服务开发将依然是Java的主要任务之一。随着Web服务的任务量逐渐加大,采用分布式处理方式是一个重要的选择,在分布式并发处理方面,Java的优势还是比较明显的。
Java做大数据开发也是一个重要的选择,目前是大数据时代,不少传统的Java Web程序员都转向了大数据领域,可以说未来大数据领域的发展空间还是非常大的。无论是在Hadoop平台下,还是在Spark平台下,使用Java都是可以的。当然,在Spark平台下使用Scala也是一个重要的选择,有Java基础再学Scala也是件非常容易的事情,毕竟Scala是基于Java的语言。
大数据是人工智能的重要基础之一,大数据的发展也极大的促进了人工智能的发展,所以大数据与人工智能关系密切。做大数据的程序员多少都会接触一些机器学习方面的内容,比如算法的分析和实现等等。而机器学习则是人工智能的六大研究内容之一,是人工智能必不可少的组成部分。
总之,Java程序员不论是继续做后台开发,还是选择大数据、人工智能都是不错的选择。从发展的角度来说,我比较推荐Java程序员做大数据研发,然后积累一段时间之后也可以向人工智能方方向发展。
我的研究方向是大数据、人工智能,如果对这方面内容感兴趣可以关注我的头条号,我会陆续写一些这方面的科普文章,相信一定会让你有所收获。
如果有大数据、人工智能方面的问题,也可以咨询我。
谢谢!

