一般java面试都会问些什么问题
1、请你自我介绍一下你自己?
回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。
企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”,企业喜欢有礼貌的求职者。
2、你觉得你个性上最大的优点是什么?
回答提示:沉着冷静、条理清楚、立场坚定、顽强向上、乐于助人和关心他人、适应能力和幽默感、乐观和友爱。我在北大青鸟经过一到两年的培训及项目实战,加上实习工作,使我适合这份工作。
3、说说你最大的缺点?
回答提示:这个问题企业问的概率很大,通常不希望听到直接回答的缺点是什么等,如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低,企业肯定不会录用你。绝对不要自作聪明地回答“我最大的缺点是过于追求完美”,有的人以为这样回答会显得自己比较出色,但事实上,他已经岌岌可危了。
企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分,企业喜欢聪明的求职者。
4、你对加班的看法?
回答提示:实际上好多公司问这个问题,并不证明一定要加班,只是想测试你是否愿意为公司奉献。
回答样本:如果是工作需要我会义不容辞加班,我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班。
5、你对薪资的要求?
回答提示:如果你对薪酬的要求太低,那显然贬低自己的能力;如果你对薪酬的要求太高,那又会显得你分量过重,公司受用不起。
一些雇主通常都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱,他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣。
如果可以的话,**建议以一个和面试官交流的心态去面试**。而且普通面试大部分问答都是有一些套路的。
面试的过程中,肯定会有答不上来的时候,这个时候,坦然的说不知道,就行了;或者再说出来点你知道的,例如思路。**重点** 答不出来的时候一定要淡定,你和面试官是平等的!反过来让你问面试官,他也肯定有答不上来的!
java基础必考,线程、集合(list、map、linklist、array,什么无key遍历map啊,链表倒置啊,这几个东西的数据结构和插入查询特性啊,线程创建方式和同步啊)相关必问。最好能说清楚常见的设计模式、要能手写一个单列模式。
**框架** :主要说你熟练的,会问一些,但是一般都比较基础,只要找;除非,你说你看过这个框架的源码,刚好面试官也比较了解。
**数据库** 可能会问你都用过什么,最好有一个用的熟练的,没事儿去配置一下主从数据库费不了多少时间,然后就好答这个问题了。sql,一般是必考的,分组查询,排序,连结查询。很可能会让你手写sql语句。我还遇到了一个让你查前多少行的,以及不用框架实现分页查询的。
**源码** 其实源码没有那么的高大上,即使你说你熟练源码,刚好面试官也熟悉,他最多也只能问问你这框架从启动到配置完成,从接收请求,到处理完成再返回的 ** 流程**然后再问一下,你从这些源码里学到了什么?这个问题,建议去百度(我都是临面试了才去百度这些有套路的问题)。
**前端** 你要是像我一样,嚣张到简历写的连前端你都会不少,(不过现在确实很多公司的招聘后端的要求也要会一些前端)那就很可能要多面你一会儿了,再问问你简历里写的用过的框架,手写几串js的代码啊,还有可能会通过js代码考察下对DOM概念的理解。正则表达式也是有可能的。
一般算法和数据结构是必考的,操作系统也经常被问。如果是校招的话,笔试中还会有一些排列组合啊,语文表达啊,思维拓展啊(你咋不去高中招?高中刚毕业的时候比较符合需求!!),其次,笔试过了还会有好几轮面试,不管你说你扣过源码,还是跟过还可以的项目,都会被往深里问,再往深里问,再再往深里问!
如果你对于学习Java有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我,这是我的Java交流学习扣扣qun:前面是六一五,中间是七四一,后面是六三六。 多多交流问题,互帮互助,qun里有不错的学习教程和开发工具。
第一,谈谈final, finally, finalize的区别。
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
第四,&和&&的区别。
第五,HashMap和Hashtable的区别。
第六,Collection 和 Collections的区别。
第七,什么时候用assert。
第八,GC是什么? 为什么要有GC?
第九,String s = new String("xyz");创建了几个String Object?
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
第十二,sleep() 和 wait() 有什么区别?
第十三,Java有没有goto?
第十四,数组有没有length()这个方法? String有没有length()这个方法?
第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
第十七,给我一个你最常见到的runtime exception。
第十八,error和exception有什么区别?
第十九,List, Set, Map是否继承自Collection接口?
第二十,abstract class和interface有什么区别?
第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
第二十三,启动一个线程是用run()还是start()?
第二十四,构造器Constructor是否可被override?
第二十五,是否可以继承String类?
第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
第二十八,编程题: 用最有效率的方法算出2乘以8等於几?
第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
第三十二,编程题: 写一个Singleton出来。
1.hashmap0.75是什么?构造函数怎么传?线程安全么,不安全会导致什么问题?
2.arraylist和linkedlist区别,arraylist构造函数有什么用,不传入会导致什么问题?同时还是问线程安全么?
3.collections下面的同步方法和concurrent包下的有什么区别?
4.创建线程的三种方式和区别,线程池的构造函数,给定n核cpu,io密集怎么创建线程池,cpu密集怎么创建线程池?
5.jvm有哪些区?cms gc原理,逃逸分析和标量替换是什么?做过哪些调优,用了什么参数?解决过什么内存泄露或者堆栈溢出问题么?用什么工具或者手段监控并解决?
6.spring restcontroller和controller区别是什么?autowired和resource 区别是什么?beanfactory和factorybean区别是什么?
7.mybaties的#{}和${}有什么区别?同时引出preparedstatement和statement有什么区别?
8.http怎么开启长连接?缓存怎么实现?
9.描述tcp四次挥手流程和状态
10.mysql常用优化手段,一个字段如果只有0或1需要加索引么?如果还有另外一个字段经常被查询,这俩字段做什么索引?最左前缀原则是什么?如何避免回表?如何实现乐观锁?事务隔离级别都有什么?
11.linux最尾部活动查看实时日志用什么命令?如何查看进程并结束?
12.描述epoll和select原理和差距
13.git merge和rebase区别?cherry-pick是什么?
14.你项目里写什么了,就会问其中实现部分的方案和设计思路,也问技术点。
String,StringBuffer,StringBudilder区别
ArrayList,vector 等的区别
hashMap,hashTable 的区别
多线程的实现方式和方法了
传参数方面的 考传的是本身还是副本 如 a(String value); a方法的value参数是传本身还是副本
其它的问题都是最基本的,基本能答上来
还有就是框架的知识了,比如spring 依赖注入,事务深入点的话 拦截器等
考其它框架的话 基本上问的都是比较基础的 难的话很少问到
db方面的话 简单考下你的sql , 可能会写几个表 要查什么让你写sql 主要考 多表连接查询,分组,分组后的查询,排序,取最大最小之类的 看你sql熟练否
我面试过10多间公司 基本都是上面我说到的问题