Java Web轻量级开发面试教程 - (EPUB全文下载)

文件大小:0.18 mb。
文件格式:epub 格式。
书籍内容:

Java Web轻量级开发面试教程
第1章 高级程序员的Web知识体系
第2章 需要了解的数据库知识
第3章 JSP+Servlet+JavaBean框架
第4章 通过Struts进一步了解MVC
第5章 Spring的基本知识点分析
第6章 Spring的MVC框架
第7章 通过ORM专注业务(基础篇)
第8章 通过ORM专注业务(高级篇)
第9章 Spring整合数据库层面的应用
第10章 Web框架案例分析
第11章 简历面试那些事
第1章 高级程序员的Web知识体系
衡量高级程序员的标准既简单又复杂,简单的标准是年限和工资。高级程序员需要的工作年限一般是本科生两年半左右(好学校的学生年限能适当降低到两年,硕士一般是一年),能给到的工资一般能达到当年毕业生平均工资的1.5倍左右(能力强的入门就能给到2倍以上)。
但年限只是一个基本的指标,比较复杂的标准是综合能力(似乎是废话)。作者以多年的高校教学经历及高级程序员+架构师+面试官的经验,在本书的诸多章节里列出了在Java Web方面高级程序员必须要掌握的知识点。本章没有用很大篇幅讲述环境的安装步骤(因为已经录制在视频里了),而是从总体上列出从新人到高级程序员升级的诀窍。
1.1 合格Java程序员和高级Java程序员的技能比较
合格程序员的最低标准是没有任何商业项目经验,但有能力从事Java方面软件开发(至少能成功通过标准最低的面试)的毕业生(或者想转行做 Java的人)。初级程序员的标准是已经在干活了,至少有商业项目经验。所以说,合格<初级<高级。
本书阅读的起点其实是低于合格程序员的,但却按照大多数企业对高级程序员的最低标准,整理出的重要知识点。而在开篇,就从各方面对比了合格程序员和高级程序员的不同标准,这其实是大家的前进方向。
1.1.1 Java Core方面
Java Core开发也叫核心开发,不涉及Web方面的知识。虽然本书是针对Java Web方面的,但Java Core方面的能力却是Web开发的基础,所以还是会用少量的篇幅大致列出针对Core方面程序员的标准。如表1.1所示。
表1.1 Core方面合格与高级程序员的差别
对于合格程序员而言,大多数情况下,只要会干活就行,所以标准大多是:会某某技术,在代码里会某某操作。
对于高级程序员而言,除了需要了解更高级的知识点外,还要能根据项目的需求,自主地选用合适的对象,而且需要考虑性能优化等问题。
1.1.2 Java Web方面
在Web方面,合格程序员的标准也是“能干活”,我们用表1.2列出了合格程序员与高级程序员的标准对比。
表1.2 Web方面合格程序员与高级程序员的标准
Web方面其实要解决的问题相对简单,开发出来的网站只要能适应高并发大数据的需求即可,比如需要达到双11时的访问量。
上述这个需求点的技能其实是深不见底的,表 1.2中列出的技术点其实是针对高级程序员的(最低标准)。相比合格程序员,对高级程序员的技能要求主要体现在以下三个方面。
· 首先知识面要全,能适当地选用技术来满足项目的实际需求,这种需求不仅仅是业务需求,还包括性能方面的需求。
· 其次是要有调优意识,在测试阶段和项目上线后,能通过打印日志或配置现成的监控程序来监控哪块性能不好,并给出解决方法。
· 关键一点,要有框架方面的能力,合格程序员可能仅仅知道基本的Spring MVC框架怎么搭建,而对于高级程序员,遇到小项目(页面在10个左右,没有太大的并发和数据量的需求),需要能自主地搭建一整套框架,然后需要带领一帮程序员完成实际的项目。
1.1.3 数据库层面
对于合格的程序员,需要有基本的数据库操作技能,具体体现在以下三个方面。
· 第一,针对一类数据库(比如MySQL、Oracle、SQL Server等),会基本的增删改查操作,会用一些基本的函数,会编写存储过程触发器索引等工具。
· 第二,知道一些基本的对项目开发有帮助的概念,比如范式、索引、分区等。
· 第三,能编写一些相对复杂的SQL语句,比如带连接、带子查询、嵌套查询等。对于高级程序员,用过的数据库种类当然是越多越好,此外,还要掌握如下三大方面的能力。
· 第一,能设计出各类复杂的SQL语句来满足项目中的各类需求。
· 第二,能根据项目情况,自主地设计数据表结构,并能合理地配置外键和主键。
· 第三,也是最重要的,要有一定的数据库调优能力,比如能合理地创建表结构,能正确地创建索引,而且能通过使用索引合理地优化数据库性能,能通过执行计划分析并优化SQL。
由于各类数据表的调优技术不一定一致,所以高级程序员最好能掌握针对多种数据库的调优技术。
在项目开发过程中,合格程序员的职责一般是编写(增、删、改、查存储结构的)SQL语句,而高级程序员的职责还包括设计和调优。
1.1.4 项目管理方面
达到高级程序员的标准后,今后不论是向技术层面的架构师方向发展,还是向管理方向的项目经理发展,都需要和项目打交道。
对于大多没有商业项目经验的合格程序员而言,可以只了解项目开发的基本流程或者常见管理方式,不了解关系也不大,毕竟这些要靠做项目来逐渐积累经验。
对于高级程序员而言,项目管理方面的能力可以不达到项目经理的高度,但至少需要具备如表1.3所示方面的能力。
表1.3 项目管理方面合格与高级程序员的差别
1.1.5 能帮助到你的加分项
对于即将工作的合格程序员而言,如果有如下的经验或技能,则在一定程度上能帮助你成功地找到工作。
第一,可以在英文环境下独立地工作,包括可以读懂和编写英文邮件,能独立和老外畅通地交流,如果听和说两方面达不到这个程度,至少能读写英文邮件。
第二,有相关实习经验,这里特别说明要有商业项目的实习经验,而不是毕业设计项目或者学习时自己搭建的项目又或者是培训学校里做的项目。实习时间越长越好,大公司的实习经验比一般公司要好,商业公司的实习经验比在校帮老师干活的实习经验要好(因为在校项目一般规模不大,而且有些是为了应付毕业设计立项的,并不是真正的商业项目)。 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » Java Web轻量级开发面试教程 - (EPUB全文下载)