[Java面试一]面试复习大纲

1、Java基础部分 (搞定全部技术以后才考虑复习的技术点)javascript

    1.数组中的排序问题(笔试或者机试,前者可能性更大)java

    2.面向对象的理解web

    3.集合相关的问题,好比hashmap跟hashtable的区别。搞清楚每一个集合对象的特性就欧了。面试

    4.多线程启动方式,以及产生死锁的缘由和解决办法【多线程问题不是很常问,有精力就复习这块内容】redis

    5.IO流,了解常见的几个流对象以及基本的流操做便可,被机试的可能性比较小。spring

 

2、Web基础 (1年工做经验者须要重点复习的技术点)sql

    1.http协议(定义、常见的请求头以及响应头<功能>、状态码)数据库

    2.tomcat(目录结构<存放的内容以及配置文件里面能作哪些工做>、常见配置;有能力者能够了解一下tomcat的原理<启动加载问题>)编程

    3.jdbc(编程步骤、与hibernate以及mybatis的区别)json

    4.servlet(概念的理解;生命周期、线程安全问题、接口相关类型、体系结构<区别>、request以及response的用途、servletContext对象的功能、编码以及路径问题)

    5.filter(生命周期、常见应用、dofilter里面的参数、应用场景)

    6.jsp(隐式对象、常见标签<指令、动做>、EL以及JSTL)

    7.cookie/session(概念的理解;生命周期,session建立的时期,相关方法的使用)

 

3、五大框架 (1年以上工做经验者须要重点复习的技术点)

    1.struts2(action相关的问题<书写方式[区别]、接受请求参数的方式、相关配置、访问servletAPI的方式>;值栈相 关问题<定义、内部结构、如何获取值栈对象、EL为何能访问值栈中的数据>;struts2与springMVC的区别;拦截器与过滤器的 区别;struts2工做原理<执行流程>)

    2.hibernate(核心思想要了解;开发流程<加载文件的过程>;查询方式;如何优化;sql与hql的区别;update与 saveOrUpdate的区别;get和load的区别;Java对象三种状态的特征以及转换、核心API、一级缓存和二级缓存、延迟加载)

    3.spring(springIOC和DI;生命周期;Bean注入属性的方式;aop极其相关名词解释;核心类;applicationContext与beanFactory的区别;bean实例化有哪些方式)

   4.springMVC(工做流程;与struts2的区别;乱码问题如何处理;各组件的扩展类型)

    5.mybatis(与jdbc/hibernate的区别;)

 

4、脚本 (此项与第五项均是须要掌握的内容、笔试题居多)

    1.JavaScript核心对象

    2.浏览器BOM对象

    3.文档对象模型DOM

    4.常见事件

    5.Ajax编程(web交互2种方式的对比)

    6.传统Ajax编程的步骤以及从服务器端返回的数据格式(之间的差异)

    7.JSON数据格式的转换操做

    8.jQuery选择器

    9.jQuery的Ajax编程(常见方法)

    10.其他的问题都是一些笔试题,让你直接写javascript代码实现某一功能

 

5、数据库

    数据库这一块几乎都是一些概念性的问答题(存储过程、函数、事务、索引、触发器、视图、游标以及一些优化操做),笔试100%会出现,通常考察的都是多表联合查询

 

6、人事相关 (答案内容比较长,未作文字说明)

    1.自我介绍(注重的是你以前在公司里面工做内容,特别是最近在公司里面作的项目<回答思路参考项目相关问题一>)

    2.简单的介绍一下上一家公司的状况/评价

    3.你为何来XX工做,怎样看待跳槽?

    4.你对咱们公司了解吗?

    5.你若是有幸进入咱们公司,有什么规划吗?

    6.你上一家公司的薪资大概是多少?有哪些组成部分?

    7.你有没有投其它公司?若是其它公司也给了offer,你会如何抉择?

    8.你有对象吗?打算何时结婚生孩子?

    9.你对薪资待遇有什么要求?能再低一点吗?

    10.你还有什么问题要问我吗?

 

7、项目相关  (重点讲解问题:商品管理、订单、购物车、单点登陆等实现思路问题,其他问题参考文档便可)

    1.请介绍一下你最近作的这一个项目吧【思路:项目给谁作的、项目涉及的领域、系统的架构(功能&技术)、系统的用途、系统的部署、使用了哪些比较新颖的技术】

    2.谈谈你对电商行业的了解【思路:电商行业的发展、行业技术特色、行业的一些概念】

    3.你这个项目大概有哪些功能,你负责了哪些核心功能?【拥有的功能尽量说多一点,建议10个左右,本身负责的3个大(如商品管理、订单、购物车),其他的都是其余组员开发的任务】

    4.谈谈xx(具体的,好比商品管理、订单、购物车)模块/功能的实现思路?实现的过程当中涉及到了哪些技术,这些技术能介绍下吗?【可参考“02_电商项目面试问题”里面的答案】

    5.大家公司有多少人?有测试吗?有美工吗?整个项目组人员配置是怎么样的?项目开发的流程大概是什么样子的?【检验是否有工做经验的一个问题】

    6.这个项目使用了什么构建工具没有?有的话,多模块之间是如何划分的?为何要这么划分?

    7.在这个项目中是如何设计商品规格的?

    8.这个系统中你是如何实现跨系统调用的? 

    9.在这个项目中,CMS系统是如何设计的,简单的说一下设计思路

    10.在这个项目中,大家主要使用什么样的数据格式来进行数据的传输的?

    11.单点系统的设计思想你了解吗?他在系统架构中的做用是什么?位置如何?

    12.大家这个项目中订单ID是怎么生成的?咱们公司最近打算作一个电商项目,若是让你设计这块,你会考虑哪些问题?

    13.各个服务器的时间不统一怎么办?

    14.大家线上部署时什么样的,能画一下吗? 
     15.大家生产环境的服务器有多少台?   

   16.大家使用什么作支付的?若是使用易宝作支付,请求超时了怎么处理?   

   17.你刚才不是说付款成功后易宝会有数据返回吗?若是付款后易宝没有返回,或者返回超时了,可是钱又已经扣了,你怎么办? 
    18.大家怎么作退款功能的,要多长时间才能把钱退回给用户? 
    19.你购物车存cookie里边能够实现不登陆就可使用购物车,那么我如今没有登陆把商品存购物车了,而后登陆了, 而后我换台电脑而且登陆了还能不能看见我购物车的信息?若是看不到怎么作到cookie同步,就是在另一台电脑上能够看到购物车信息 
    20.若是用户一直向购物车添加商品怎么办?而且他添加一次你查询一次数据库?互联网上用户那么多,这样会对数据库形成很大压力你怎么办?

   21.购物车的设计细节问题

 

8、其余技术问题 (根据本身的精力和实际能力进行选取,主要是为了证实本身的技术能力强、经验足,提高薪资用的)

   1.权限控制(通常状况,在公司必须有必定工做经验的开发者才会被分配该功能模块的开发,这意味着学员在刚开始参加工做的那个项目里面绝对不能写的内容。) 这里通常都会说起shiro技术,在这块须要掌握shiro相关的几个组件以及他们的调用关系,而后就是权限设计的几张数据库表(表之间的关系以及每张表里面的重要字段)

   2.搜索系统(普通的查询会让面试官问及效率问题,那么势必要提到全文检索技术,因为刚学不是很熟,根据本身掌握的状况进行选择)  

    3.浏览器跨域问题(前台系统调用可使用jsonp来实现浏览器跨域问题,去年有学员花几个小时学习这个,仅凭此技术入职8K。)

    4.webservice(该技术已有替代技术,若是不会,能够不用花时间去复习)

    5.Linux(水太深,只谈本身在项目中就部署的时候用了一下便可)

    6.redis(根据本身的能力看是否须要说起次技术,毕竟购物车的实现方式比较多。)

相关文章
相关标签/搜索