第一篇:Java面试总结~~~~
Java面试总结~~~ 学习过程:
根据个人大学中的学习学习状况的过程如下: 1.看面试题
正常人第一步肯定都会看面试题,我也不例外,在看的过程中,我发现有些文章写的不错,对我帮助不小值得推荐,如下:
Java面试题全集(上)很多基础的东西,建议先看。
各大公司Java后端开发面试题总结 面试心得与总结—BAT、网易、蘑菇街 关于Java面试,你应该准备这些知识点
2.深入学习
在看面试题的过程,你会遇到一些自己没接触过的或者以前没深入学习过的知识,例如最常问的HashMap内部实现原理,这就促使你得开始去看jdk的源码或者是学习一些新的东西。看源码是很重要的一步,起步很难,但是会让你收益良多,看源码的过程如果碰到无法理解的地方,可以百度看下别人的理解。我学习源码的过程中,看过几个人的关于源码的文章写的很不错,如下: 五月的仓颉 占小狼
zhangshixi的Core java系列 3.熟悉项目
找出自己工作以来开发过的最叼的功能,将整个功能的流程和涉及的东西吃透。项目是面试中必问的环节,一般是以一个功能点为基础展开问,因此你必须对这个功能有很深的认识,不能有模糊的地方。如果有时间,能把涉及到的知识点也搞懂最好。
4.做面试题
有不少公司是有面试的,如果你没有准备过,很容易在各种小地方犯错,建议去一些面试题网站多做些题目,我自己是用的牛客网。
5.学习记录
把自己每天的学习时间和学习内容记录下来,可以让自己更有动力的学习,学习是一个枯燥的过程,你必须让自己时刻保持有动力。
投简历、约面试环节
1.在哪些网站投?
拉勾网、BOSS直聘、猎聘网。
2.是否该海投?
投简历分为两个情况。
1)没有社招面试经验:建议采取海投的方式,只要职位要求跟自己比较匹配都可以投,累计面试经验。这个环节可以把投简历的网站增加两家:智联和无忧。2)自认为社招面试经验已经足够:投那些职位匹配、公司满意的职位。公司评价可以去看准网、百度、知乎等查询。
3.一天约几家面试合适?
最理想的情况为2家面试,上午一般在10点左右,下午一般在2点左右。建议把理想的公司放下午,因为下午的时间比较充足,可以让公司更充分的了解你。我开始面的时候,每次都是上午面的不好,下午面的不错。
4.投简历经常没下文?
我当初也没想到简历筛选这关有这么难,可能是我的简历确实亮点不多,再者HR很多都不是行内人,因此他们看得最直接的就是你上家的公司和你毕业的学校,如果你不是从牛逼的公司/学校出来,可能会碰到和我一样的情况,应对的办法就是多投。
5.是否该裸辞?
我一开始是边上班边投,然后利用调休时间,或者请假去面试。后来,面试机会越来越多,请假太频繁了,自己都不好意思了,并且自己也已经有足够的信心,这个时候我选择了裸辞。裸辞还有一个原因是,在面试过程中你会发现,有的公司要人要的紧,如果你的辞职流程过长可能会导致你错过这个公司。
6.注意事项 1)面试前一天把路线和时间算好,最好别迟到。2)背个书包,带好简历、充电宝、纸巾、雨伞。
面试环节
1.笔试常见的问题?
面试常见的问题上面给的面试题链接基本都有。我只提几点:1)写SQL:写SQL很常考察group by、内连接和外连接。2)手写代码:手写代码一般考单例、排序、线程、消费者生产者。我建议排序算法除了冒泡排序,最好还能手写一种其他的排序代码。试想:如果一般面试者都写的冒泡排序,而你写的是快速排序/堆排序,肯定能给面试官留下不错的印象。
2.面试流程?
1)让你自我介绍 2)问Java基础知识 3)问项目
4)情景问题,例如:你的一个功能上了生产环境后,服务器压力骤增,该怎么排查。
5)你有什么想问面试官的
3.面试常问的知识点? 1)集合相关问题(必问):
HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现。
HashMap和Hashtable的区别。ArrayList、LinkedList、Vector的区别。HashMap和ConcurrentHashMap的区别。HashMap和LinkedHashMap的区别。HashMap是线程安全的吗。
ConcurrentHashMap是怎么实现线程安全的。2)线程相关问题(必问): 创建线程的3种方式。什么是线程安全。
Runnable接口和Callable接口的区别。wait方法和sleep方法的区别。
synchronized、Lock、ReentrantLock、ReadWriteLock。介绍下CAS(无锁技术)。什么是ThreadLocal。创建线程池的4种方式。
ThreadPoolExecutor的内部工作原理。分布式环境下,怎么保证线程安全。
Java学习交流QQ群:589809992 我们一起学Java!3)JVM相关问题: 介绍下垃圾收集机制(在什么时候,对什么,做了什么)。垃圾收集有哪些算法,各自的特点。类加载的过程。双亲委派模型。有哪些类加载器。
能不能自己写一个类叫java.lang.String。4)设计模式相关问题(必问):
先问你熟悉哪些设计模式,然后再具体问你某个设计模式具体实现和相关扩展问题。
5)数据库相关问题,针对Mysql(必问): 给题目让你手写SQL。有没有SQL优化经验。Mysql索引的数据结构。SQL怎么进行优化。SQL关键字的执行顺序。有哪几种索引。
什么时候该(不该)建索引。Explain包含哪些列。
Explain的Type列有哪几种值。6)框架相关问题:
Hibernate和Mybatis的区别。Spring MVC和Struts2的区别。Spring用了哪些设计模式。Spring中AOP主要用来做什么。Spring注入bean的方式。什么是IOC,什么是依赖注入。Spring是单例还是多例,怎么修改。Spring事务隔离级别和传播性。
介绍下Mybatis/Hibernate的缓存机制。Mybatis的mapper文件中#和$的区别。
Mybatis的mapper文件中resultType和resultMap的区别。
Mybatis中DAO层接口没有写实现类,Mapper中的方法和DAO接口方法是怎么绑定到一起的,其内部是怎么实现的。
Java学习交流QQ群:589809992 我们一起学Java!7)其他遇到问题: 介绍下栈和队列。IO和NIO的区别。接口和抽象类的区别。
int和Integer的自动拆箱/装箱相关问题。常量池相关问题。==和equals的区别。重载和重写的区别。
String和StringBuilder、StringBuffer的区别。
静态变量、实例变量、局部变量线程安全吗,为什么。try、catch、finally都有return语句时执行哪个。介绍下B树、二叉树。ajax的4个字母分别是什么意思。xml全称是什么。分布式锁的实现。
分布式session存储解决方案。常用的linux命令。
一些经验:
1.先投一些普通公司,等面出了心得再去投理想的公司。2.不熟悉的技术不要主动提。
3.对于那种实习期6个月还打8折的公司,除非你没有其他选择了,否则不要去。4.小公司喜欢在薪水上压你,开的时候适当提高。5.不要去参加招聘会,纯粹是浪费时间。
6.把面试当作一次技术的交流,不要太在意是否能被录取。
7.公司一般面完就决定是否录取了,让你回去等消息这种情况一般没戏,无论你自己觉得面的有多好。
8.尽量少通过电话面试,效果不好。
9.在面试的日子里,要保持每天学习,无论是学习新东西还是复习旧东西。10.拿到offer了,问问自己这个公司让自己100%满意了吗,如果不是,请继续努力找更好的。
11.通过面试官可以大概判断这家公司的情况。
12.拉勾投的简历很多会被筛掉,但是拉勾还是面试机会的最主要来源。13.理想的公司可以多投几次,我有好几次都是第一次投被筛掉,多投几次就过的经验。
14.问到自己有深入研究过的知识,抓住机会好好表现,不要轻易放过。
第二篇:对日Java面试总结
1:介绍一下自己刚做过的项目;
2:struts和struts2的工作流程;
答:struts工作流程:在web应用启动时就会加载初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象当ActionServlet接收到一个客户请求时,将执行如下流程.(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给ActionForward对象指向的JSP组件;(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;Struts2工作流程:用户发送请求,在struts.xml文件中找到相应的action请求,根据相应的class类,处理相应的请求,然后返回string字符串,在struts.xml文件中配置的result找到该字符串,到相应的页面。
3:Ajax异步请求;
答:核心是xmlHttpRequest,页面不刷新,直接请求服务器,并返回数据。
4:jquery验证:
答:用js验证,首先编写好要验证的js代码,在jsp页面引入js验证代码,在需要验证的输入框或选择框中用class=“validate[….]”写入验证的需求。
5:struts2 返回什么类型
答:返回string类型,例如”success”,”fail”。
6你会什么技术? 7介绍自己情况?中文自我介绍。8项目介绍,自己担当模块。9自己担当模块如何实现 10项目用到的框架,原理ssi 11Hibernate与Ibatis区别 12事务如何理解 13对框架的认识
14针对自己模块操作,在检索按钮摁下时,页面如何进行。(表单验证提交,验证的几种方式,ssi如何整合到一块的)
15项目中properties文件如何处理的 16项目框架怎样处理的,(系统已搭建好的,自己模块sourse的dao实现自己配置)
17Db是否熟悉
18日语式样书翻译一句话。19验证都验证些什么?
20证书问题,考证?三级如何评定。21用日语进行自我介绍 22汉译日
23你写过单体测试书吗
24根据什么进行单体测试的
25有一个收费金额的入力框,进行check时,你如何写这个测试case 26在这个项目中,你只写单体测试吗
27首先自我介绍
28谈谈对对日项目开发的理解 29谈谈SSH框架 30谈谈hibernate的理解 31谈谈你对ibatis的理解
Hibernate和Spring是怎么集成的 33 Spring和struts是怎么集成的 34 分页关键字
rownum的作用 35 怎么实现分页的 36 日语怎么样
单测根据什么做成的
Struts2的tag标签
Hibernate中纯sql和语句和hql语句的区别
40介绍最近的项目;41自己担当的模块流程,说说在该项目中用到的技术;42是否用过AJAX与DWR,用的是什么方式发送请求 43 struts2的拦截器
SSH框架搭建是否由自己完成;45 Spring的事物管理;46 用过什么Hibernate的对应关系, 47在项目中参与了设计吗?
48中文自我介绍 49项目介绍 S2标签 51 事务
52你们用的是什么异常处理 53你做的项目名字用日语说一下
54自我介绍
用汉语介绍自己。有的要求日语。55项目经验
56用日语读出某个项目概述 57怎么编写单体测试式样书
根据详细设计书和Source编写,分为大,中,小项目,写测试用例,编写Case点。
58有一个入力框,你会怎么写Case点?
非法字符,入力框的长度,边界值,是否为空,纯数字校验,入力值为最大值,及入力值大于最大值,及大于最大值加1; 59你写过多少单体测试Step?
100行
60在jsp页面的javascript中如果有错误,怎么调试? 61java中的集合类有哪些?它们的区别有哪些?
62给你一个数组,里面有重复的数据,1、实现数组排序;
2、去掉重复数据
在IE7或8没出现之前,使用IE6时,jsp页面有问题的话,你是怎么解决的?
使用火狐浏览器查看 64 jsp 页面中Div层出错后,修改验证没问题了,但是,发给日方的时候,页面出错了,你怎么办?你有遇到过这个问题? 65 65写过50多条测试项,后台代码写了多少呢?
300多行
66用日语写过什么作品?在遇到简单的词汇,你会使用Copy键还是自己手敲呢?
简单的会拷贝一些,个人认为,手写的比较有利于日语知识的提升。
介绍一下泛型
DJunit中测试调用什么方法 69 struts1和struts2的区别
hibernate 和 ibatis 的区别以及优缺点。71 BUG票写过吗? 72 对spring的理解
每千行的测试case大概有多少个。74 list如何去除重复元素。75 SSH的工作流程 76 SSI的工作流程。
开始菜单,事项书,工具,删除,追加,修改,进度表,检索等常用、敏感词的日语单词。78 orcal获取系统当前时间 79 orcal 分页 80 增删改查语句
jsp内置对象
hibernate 一对一,一对多,多对多联系 83 java面向对象的四大特征 84 jsp验证时怎样取数据 85 struts2如何存取数据 86 orcal 左右连接 87 数据库用的什么
操作系统用的是什么 89 Junit和DJunit有什么区别
struts的数据提交怎样实现
一张表中有多条数据,怎样查询第一条 92 jsp基本动作 93 struts 的配置 94 web的servlet 传送 95 存储过程
一个项目的流程
一个输入框,模拟测试点
A=B,能写出几个测试用例
用哪个方法判断两个值相等?说明equals和==的区别。100 说几个常见的runtime exception。
介绍一下你的公司
对详细式样书的感觉怎么样,理解方面有没有问题? 103 详细式样书遇到问题怎么解决?
QA票写过没有,发给谁?主要写一些什么东西?(发给组长,由组长发给日方客户)
测试式样书写过吗?根据什么来写?
第三篇:JAVA面试
马老师:
您好,昨天下午面试的中软资源。因为笔试时间很短(她之前并没说多长时间,我估计就只有30多分钟就要收卷),而且题量很大,所以没有记下题目,不过前面的题目都很简单,主要是咱们做的那些基础题。后面的主观题是:
1、详细叙述5种以上种的设计模式
2、详细说明类的设计原则
3、sql语句的调优
还有一个忘记了!
完了之后人事的会做初步面试,首先自我介绍,然后问离职原因,以前的一些工作情况。再就是简单介绍他们目前要做的项目情况,会说工作很幸苦之类的话,最后会问薪水要求!
再就是技术人员面,感觉他们对基础知识很看重,当然首先是自我介绍。会问到一些详细的知识点,比如说怎么配置DWR,sql语句的调优,当然项目也是得问的,主要介绍最近的项目,做过什么东西!
最后是技术总监,开始也是自我介绍。技术方面问的少,就问我jbpm和我做过什么以及用到的一些开源框架和工具。然后问3到5年的职业规划,再给我一份英文的文档让我翻译(他不会告诉你是关于什么方面,我傻到居然去问他)。后面有人遇到这种情况要先看文档大标题,完了告诉他这文档大概是关于什么的(给我的是分需求文档),不要一上来就往细里看,那位总监就批评过我,完了再看细节。最后问我有什么问题!
如果问到的一些知识没听过,就说这些不会是以后项目开发中的问题,因为我们以前也是好多技术都是在项目中边学习边开发的,不可能我们什么技术都会了都准备好了再去做开发。面试中也问道过俩,我不知道是什么,按照上面的回答,感觉对方还是比较满意,也没有为难我!
这些都跟面得职位有关,职位不同情况可能不同。我面得是中软内部的职位,不是外包。
中科软笔试
1.集合类
2.servlet生命周期
3.string,stringbuffer,区别,int integer 区别
4.常见的运行时异常
5.写出几个常见的类,包,接口
6.写一个单例
7.抽象类和接口的区别
8.还有两页的SQL选择题,我不太记得了
9.怎么配置tomcat的内存大小
10.数据库连接池的原理
11.触发器有哪几种,并说说每一种
12.还有JSP中静态include和动态include区别
13.jsp的9种内置对象
14.选择题好几个都是关于主键的,记不清了
还有一个是写几种常用的数据结构,并写出实现原理
还有一个也是数据 结构上的,我不记得了,我连见都没见过 还有一个是程序改错题,挺简单的
第四篇:java工程师面试
精通java语言及面向对象思想 具有扎实的java编程基础和良好的编程规范
精通 jsp语言 html语言 javascript脚本以及css 样式
熟练掌握sqlserver oracle 数据库
熟练使用Spring+Hibernate+Struts 以及 Spring+JDBC+Struts开发
精通Struts+jdbc开发 精通MVC框架开发
精通tomcat运用服务器 熟悉weblogic运用服务器 并可配合eclipse进行开发 熟练使用ant log4j junit 等辅助开发工具
熟练使用CVS/VSS项目同步工具
对factory DAO singleton 等软件设计模式有很好的理解
对oracle数据库性能及oracle代码的规范性和java代码执行效率以及java缺陷有很好的理解与掌握
熟悉大型项目的开发流程 对业务需求能很好的细致理解,熟练书写概要设计 需求分析 详细设计等文档
2年多累积java代码30000行 数据库代码10000行 具有实际大型项目(江苏电信)开发经验和个人独自完成小项目的能力
具备强烈的学习欲望,工作认真负责,且具有很强的责任心和进取心,与人为善善于沟通,有很好的团队合作精有神。
江苏移动秘书 12580 负责个人电话本和呼叫信息增删查改的开发
负责江苏移动秘书两个版本IVR接口csp3.0以及csp6.0的切换开发,录音放音的控件的使用,使用rational rose绘制UML用例图,类图,时序图等在项目中熟练使用cvs和vss开发同步工具,灵活运用ajax特效,buffalo特效,熟练书写存储过程,函数,等ORACLE代码以及基于定时器的函数。
第五篇:Java面试问题
1、引用CSS样式有哪两种方式?
Link,@import2、js怎么控制两个文本框,当选中的时候边框变空,没选中的变会原来的颜色。onFocus=“document.getElementById('text1').style.backgroundColor='#eee'”
onblur=“document.getElementById('text1').style.backgroundColor='#fff'”
3、查询数据库表显示在页面需要新建多少个class文件和xml文件?
4、spring有多少种注入方式?
注入方法1:构造方法方式 2:属性注入 3:静态工厂方法参数注入 4: 接口注入