后端最基本的我认为要掌握以下几点:
1、Java基本语法
2、多线程
3、各种经典数据结构的使用,List、Set、Map及其衍生类。
4、经典的Spring MVC,没得说了,现在做Tomcat Web项目基本上都是用它了。
5、RESTful要了解
6、现在国内业界,json用的比较多,至少应该掌握一种json操作库:jsonlib、fastjson等,目前,国内业界fastjson用的比较多。当前国内业界比较喜欢的对外接口形式就是RESTful+JSON。
7、几种数据库的操作方式,原生Jdbc要了解。几种基于原生jdbc的框架,至少应该知道其中一种的用法:Spring JdbcTemplate、Hibernate、Mybatis。进一步,最好要了解至少一种数据库连接池的用法:Proxool、DBCP、C3P0、Druid、HikariCP,目前,国内业界后两种用的比较多,因为效率更高。
8、除了Tomcat Web项目的知识。进阶的还可以了解一下当下大热的微服务方面的知识,这方面目前国内业界用的较多的框架:dubbo、zookeeper、netty、mycat等等等等。
以上是我暂时想到的。其实更多的应该自己去动手写项目,比如写一个功能比较完备的个人博客,在这个过程中,遇到问题尝试去搜索当前比较流行的技术来解决,这样你会学的比光看书更快。
说说前端吧,其实当前国内前端也比较缺(当然是优秀的前端),前端的待遇和前景也是不错的。