在和不少比较上进的初级程序员打交道的过程中,我们总结出了一些能帮到合格程序员尽快进阶的经验,从总体上来讲,多学、多实践不吃亏。本文来是从 java web轻量级开发面试教程从摘录的。

1  哪些知识点可以延后了解

在Java Core方面,下表中的知识点你可以不学习或者到用的时候再学习。

知识点

学习的时机

界面开发方面的知识,比如Swing

Java主要用在Web方面,很少有项目会用到这些UI部分的知识点。大家可以等实际用到时再学习

Socket编程方面

可以先了解概念,等有项目需求时再学习

Applet方面

很少用,等有项目需求时再学习

虚拟机方面

虚拟机很重要,因为能对性能调优产生立竿见影的效果。不过这得靠技术积累,所以建议有至少2年相关工作经验后再学习,刚开始时,可以先了解概念和相关的基本内存管理知识点

在Web方面,建议大家先了解一整套框架,别过早地钻入某个方面的知识点,比如大家可以先通过Spring MVC+Hibernate(甚至是JSP+Servlet+JavaBean)搭建一个包括基本的前端页面+MVC 架构+后台代码+数据的Web小项目(比如学生管理系统),先了解基于Web框架开发的一整套知识体系,随后再不断深入了解各Web组件的API等细节。

一般来说,在开始阶段,下表所示的Web知识点可以延后学习。

知识点

学习的时机

JSP内嵌对象

可以先大致了解概念和基本的用法,没必要刚开始就深入了解具体内嵌对象的API

Java Scrip、CSS、DIV等前端知识

如果不是走前端路线,在刚开始接触Web开发时,这些前端技术可以不必过多关注

2  大学阶段的实习经验能帮到你

一般公司在筛选候选人的简历时,一个非常重要的考查要点是相关经验的工作年限。说一个典型案例,某公司要招高级程序员,需要有3年左右经验,三个候选人都是毕业1年半的程序员,但其中一位在大三开始有1年实习经验,结果就他获得了技术面试的资格。

这种工作经验外加实习经验凑满年限要求的案例不在少数,对于刚毕业的多数大学生来说,一般商业项目经验的工作年限都比较少,这个时候,是否有实习经验直接决定了是否能有面试机会甚至关系到是否能找到合适的工作。

目前大多数的软件公司在筛选简历时,对于工作年限小于1年或者没经验的简历,如果没有其他额外的加分项(比如海归或拿过编程大奖或英语非常好),一般会直接过滤,更何况候选人的学校还不是985或211学校。

毕竟,一个好学校的招牌确实能证明毕业生的平均能力很强,但这种证明力未必要比直接的工作经验来得更有效。

我们见过一些本科毕业生的简历,他们天真地把毕业设计项目(诸如图书馆管理系统或者学籍管理系统等)和一些实训项目(培训学校的教学项目)写到简历中。要知道商业项目(需要靠这个挣钱)和学习项目是两回事,侧重点也不同,所以公司只看重商业项目,一些学习项目的作用充其量只能证明你在这方面有过了解。

所以给大家的建议是,在不影响学习和毕业的前提下,尽早到一些公司去实习,哪怕钱很少加班多也要去。一方面可以通过实战提升自己的专业能力,另一方面,能给自己提升用钱买不到的商业项目工作年限。

3  刚开始的1到3年,找个专注的方向

这里的专注有两个含义:

第一,得专注地从事软件相关的行业。我们见过不少简历,工作经验确实有3年(甚至更多),但是在简历中堂而皇之地写明,有1年多是从事非软件行业的,比如做硬件、做维护,甚至做和计算机专业无关的销售等,而编程相关的经验相对来说很少,那么这些简历中的相关工作年限只能扣除非编程经验的年限。

第二,需要在工作的前3年内,给自己制定一个大发展方向,是数据库管理和优化方向,或前端,或后端,或测试,或大数据等,换工作也以这个方向为前提。

比如某公司要找个做Java后端工作年限5年的人,但某份简历中,虽然也有5年经验,但前2年是偏重前端,第三年做测试,后2年才是Java,那么相关后端经验也只能按2年算。

这里想请大家注意的是,你可以多充实自己,多学习各方向的知识点,但一定要在一个方面(比如最近比较流行的是大数据)钻进去,让你在这方面拥有较多的项目实践经验。否则,假设你工作年限也达到资深的标准了(3年以上),但你在换工作的时候,会发现虽然你能去参加很多类型的面试,但每个方面你都没法证明自己是资深者(面试官自有一套甄别资深者的方式,而且有些问题一定是得做了很多项目才能回答出来,所以千万别有任何蒙混过关的想法)。

4  常学习、多实践的人工资涨得快

虽然在前文里给大家列了些别人的经验,但对于任何程序员来说,弯路一定会走,本书的宗旨是让大家少走点弯路。

怎么才能少走弯路(或者说早些从弯路上回头)?答案只有学习和实践。

比如某好学者一个月额外学习时间是40小时(平均每工作日学习1小时,每周末学习5小时,一个月算4周),目前一般的学习效率是70%左右,毕竟你不能保证你看的知识点一定有用,而且也不能保证你一定能准确地理解学到的知识点,那么算下来一个月的有效学习时间只有28小时,这和在线游戏里的练级时间一样,时间越长,你的等级也就越高,工资也就越高。

给大家讲些真金白银的例子,按2017年的行情,工作经验满3年的平均工资在12000元左右,上不封顶,看能力,我们见过较高的有15000元左右。问下来这批人大概每周的学习时间在30小时(也不算多)。我们也了解过不少工资在平均线(12000元)以下的原因,虽然和公司种类(比如外企创业公司或者互联网公司)行业(比如证券金融)等其他因素有关,但学习时间少也是相对重要的因素,毕竟如果你能力强,找到一个工资高的工作的机会就大。

根据实践经验,讲述些学习Java web能少走的弯路,内容摘自java web轻量级开发面试教程的更多相关文章

  1. 如何用比较快速的方法掌握Spring的核心——依赖注入,Java web轻量级开发面试教程 读书笔记

    我们知道,Java方面的高级程序员一定得掌握Spring的技能,其中包括Spring 依赖注入(IOC),面向切面(AOP),和数据库的整合(比如和Hibernate整合或声明式事务等)以及Sprin ...

  2. 面试时,当你有权提问时,别客气,这是个逆转的好机会(内容摘自Java Web轻量级开发面试教程)

    前些天,我在博客园里写了篇文章,如何在面试中介绍自己的项目经验,收获了2千多个点击,这无疑鼓舞了我继续分享的热情,今天我来分享另外一个面试中的甚至可以帮助大家逆转的技巧,本文来是从 java web轻 ...

  3. Java web轻量级开发面试教程的前言

    本文来是从 java web轻量级开发面试教程从摘录的. 为什么要从诸多的Java书籍里选择这本?为什么在当前网络信息量如此大的情况下还要买这本书,而不是自己通过查阅网络资料学习?我已经会开发Java ...

  4. java web轻量级开发面试教程

    最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备 在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二 ...

  5. java web面试技巧,数据库面试,java web轻量级开发面试教程

    我最近看到一本比较好的讲java web方面面试的书,java web轻量级开发面试教程. 其中不仅用案例和视频讲述了Spring MVC,Hibernate, ORM等方面的技巧,而且还实际讲到了面 ...

  6. java 面试,如何提升自己的实力,摘自 java web轻量级开发面试教程

    本内容摘自 java web轻量级开发面试教程 其中有一段讲述到了实习经验对找工作的帮助 1.2.2大学阶段的实习经验能帮到你 一般公司在筛选简历时,一个非常重要考察的要点是相关经验的工作年限,说一个 ...

  7. (java web后端方向)如何让你的简历为你争取到更多的面试机会,内容来自java web轻量级开发面试教程

    我们在做培训时,会发现一个不合理的情况,一些程序员能力不错,在公司里也是技术牛人,但发出去的简历往往会石沉大海,没有回复.对于刚毕业的大学生或工作年限在2年之内的程序员,这个情况会更严重. 这种情况下 ...

  8. java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试

    本内容摘自 java web轻量级开发面试教程 https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80% ...

  9. java web轻量级开发面试教程内容精粹:哪些简历得不到面试机会

    看到一本较好的实践性比较强的书,java web轻量级开发面试教程,里面的一些内容很有实践意义. 问题点 很难获得面试机会的原因 学历不符,比如要求是本科以上,但学历是大专 学历是硬指标,所以达不到学 ...

随机推荐

  1. spring @Autowired和jdk的@Resource区别

    当一个接口只有一个实例时,使用这两个注解的效果是一样的. 当含有两个实例时,非得使用 @Autowired 那么定义的引用类型必须和service实现类定义的名字相同,参照下图 定义第一个servic ...

  2. php多个文件上传

    表单如下 <form class="form-horizontal" action="{:U('System/addAdvert')}" method=& ...

  3. Boost LRU-Cache使用方法简介

    缓存是提高系统运行效率的常用组件,可以将"有效的"业务数据直接返回用户,避免繁琐的计算过程.除了Redis.MemCache等常用缓存系统,应用程序内部也可以根据需要设置一定容量的 ...

  4. Thrift全面介绍

    官网:http://thrift.apache.org   简介 Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java ...

  5. 关于cocos2d-x面试的问题

    关于高效渲染的问题: 1.先说下渲染批次:这是游戏引擎中一个比较重要的优化指标,指的是一次渲染凋用.也就是说,渲染的次数越少,游戏的运行效率越高. 2.CCSpriteBatchNode就是cocos ...

  6. SpringCloud学习笔记(2)——Ribbon

    参考SpringCloud官网第16.17章 16. Client Side Load Balancer: Ribbon Ribbon是一个客户端的负载均衡器,它提供对大量的HTTP和TCP客户端的访 ...

  7. Java语句语法

    一.流程控制语句 1.分支语句 1)if else 语法:(写法1) if(条件1){     //写一次 满足条件1执行在代码 }else if(条件2){    //写0或n次 不满足条件1,满足 ...

  8. SSM Spring+SpringMVC+mybatis+maven+mysql环境搭建

    SSM Spring+SpringMVC+mybatis+maven环境搭建 1.首先右键点击项目区空白处,选择new->other..在弹出框中输入maven,选择Maven Project. ...

  9. Azure IoT Edge on Windows 10 IoT Core

    在今年的Build大会上,微软推出了Azure IoT Edge的第一个版本(https://github.com/Azure/iot-edge ).该版本的主要特点就是将计算能力由Azure端推送至 ...

  10. 快速增加controller节点

    # controller1节点部署成功后,再添加controller节点,复制配置文件并修改即可openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p ...