本文来是从 java web轻量级开发面试教程从摘录的。
为什么要从诸多的Java书籍里选择这本?为什么在当前网络信息量如此大的情况下还要买这本书,而不是自己通过查阅网络资料学习?我已经会开发Java Web程序了,有没有必要买这本书?
笔者有12年的Java经验,目前是某大型公司的架构师,知道软件公司对高级程序员的实际需求;而且笔者在大公司里有过5年的技术面试经验,面试过的人数上百,所以知道毕业生和初级程序员的普遍情况。笔者更有过5年多的Java培训经验,知道如何在短时间内把有毅力、有决心,但暂时缺乏技能经验的人培养成高级程序员的方法。
我在工作和培训中接触过不少刚走出校园的大学生和工作经验少于3年的初级程序员,发现他们虽然很上进,平时都会上网查找资料学习,但普遍会走弯路,比如学了目前用不到的知识点,或者对重要的知识点了解不深,或者干脆不知道该学哪些以及学习的进阶路线,这就导致他们掌握的技能和公司的需求(主要体现在面试上)不匹配。我也见过不少人项目经验足够,能力也不差,但他们就是通不过高级程序员的面试。
在Java Web方面,笔者从事了十多年的开发和培训工作,所以对于这方面的技术点,我大致知道哪些是不学就找不到工作,也知道哪些可以推迟到成功进阶后再学,更知道哪些可以不用了解。此外,我还从培训和带领毕业生和初级程序员的实践效果中总结出了一套适用于大多数初级程序员的能少走弯路的进阶路线,以此由浅入深地构建了本书的知识体系。
大多数初级程序员都能升级到高级,只是时间问题,而本书的目的就是让大家缩短升级的时间。
第一,本书列出了在Web方面初级程序员升级到高级的必备知识点,以多数人升级时遇到的陷阱为警示,确保大家不在众多的知识点里迷失,而最终导致方向性错误。
第二,以公司对高级程序员的实际需求告诉大家必备的知识点应该怎么学。
第三,本书更从语法之外,告诉读者应该怎么从“性能调优”和“框架”的角度往更高的目标发展。
本书还从面试官的角度,在准备简历和面试方面写了一些能帮助读者的攻略,从而让读者能真正地把技能和经验转化成为金钱(升级进入好公司后钱就多了),这套攻略的实践效果是,每次我的培训班结束,总会有一批学生成功跳槽。
话说回来,“时间”还真是个大问题,我知道大家工作后一般都很忙,能给学习挤出的时间并不像上学时那样多,针对这个现状,本书只给出了常用的必需的知识点,能让大家用较短的时间代价完成到高级程序员的升级。
从内容和叙述方式来看,本书的案例和文字都是根据初级程序员的现状而原创的,尤其提到了初级程序员会忽视的技术要点。本书摒弃了大段华而不实的理论描述,这样能让大家不为无用的篇幅买单。而且,本书给出的技术描述和实践建议对于初级程序员来说,不是高深的,而是确保在当前知识储备下能看懂的。对于那些能帮助到高级程序员和架构师但现阶段帮不到初级程序员的高深知识点,本书不讲。
从案例角度来看,本书一个知识点会配置一个案例,并且每个案例都有视频教学,保证大家能通过观看视频调试出来,而且保证能从案例中学到关联的知识点。
在面试过程中,本人一定“错杀”过一些有技能但表述能力不强的候选人,不过也错误地招过一些能力偏差但会面试的候选人。本人也约谈过这些人,从而了解到一些怎样“假装自己是高级程序员”的方式,以此来提升本人的甄别水平。技术上不能弄虚作假,为了帮助技术好但不擅长面试的踏实程序员,在描述各技术点时,我参考了诸多程序员的面试经验,尽可能多地加上了“能证明自己懂”的叙述。
这本书的价值不仅在于提供的若干代码案例和若干视频,更体现在能帮助大家在进阶过程中少走弯路,体现在能切实有效地帮助大家面试,在讲述知识点时,总是尽可能地告诉大家如何有效展示自己了解这部分知识点的方法,而且在本书的最后一章——第11章中,以技术面试官的直接经验,不仅讲述了在简历中如何展示自己能力的方法,而且还通过分析面试流程,给出了如何准备面试的攻略,以保证大家能在掌握技能的前提下有效地证明自己行,从而让你的学习得到应得的回报。
本书没有展示Java Web方面的所有知识点,而是选择性地讲了“足够能证明自己能力”的知识点,从而避免大家把时间用在“现阶段用不到的知识点”的学习上。而且,这些知识点的选择以及讲述方式是根据多年的培训经验精炼出来的,从而保证大家花较少的时间和精力就能掌握Java Web方面高级程序员所必备的知识点。所以对于在校大学生、毕业生和工作经验少于3年的初级程序员而言,本书是个不错的选择。