Java面试:1
月薪10000以上:
1.了解Java的反射机制
2. 了解泛型的原理
3. 了解Spring框架的基本原理
4. 熟悉设计模式
5. 了解如斐波那契数列之类的简单算法
月薪20000以上:
1. 精通MySQL的操作,了解如何优化取得更高的性能
2. 熟练使用Java的代理模式
3. 了解Spring框架的底层实现
4. 熟悉Tomcat的性能优化
5. 了解JVM的原理
6. 了解如何搭建高并发,高负载,高可用的系统结构
7. 如果会Hadoop就更好了
面试题:
(纯手打,个人总结,如果有错误欢迎指正)
1. 什么是面向对象:
所谓面向对象是指,编程语言将具体的参数和函数封装为一个实体,每一个实体称之为一个对象,程序员更关心的是每个对象如何设计,以及如何处理他们之间的关系,面向对象的语言特点是支持继承和多态。
2. 什么是继承:
举个简单的例子,李嘉诚的孩子相当于拥有李嘉诚的个人财产,当然前提是这些财产被李嘉诚声明为公有的,这样李嘉诚的孩子就可以继承李嘉诚的房子,钱。但是他无法继承李嘉诚声明为私有的老婆。
3. 什么是多态:
多态就是一个事物有用的多种形态,这是面向对象的一种表现。如人这个生物,他既是一个人,又是一个动物,还是一个哺乳动物。这就是多态的表现,如果某个方法接收一个动物,我传给他一个人,方法可以执行,因为人是更高级的动物。如果一个方法接收一个人,而我传给他一个动物,那程序就无法运行,因为动物可能包含低级动物,他不包含人特有的方法和属性。
4. 什么是可变参数:
可变参数是Java5.0的新特性,具体的使用方法是当一个方法声明的时候以public void test(int ... nums)为例。参数类型后跟三个点后再跟参数名称,该方法就可以接受任意多个int类型的参数,test(1,2,3) test(1,1,1,1,1)程序都可以执行,在方法中nums可以以数组的形式进行使用。
5. 什么是反射:
反射是Java提供的一种可以根据类的名称去获取类中参数的技术,以反射类的公有方法为例,首先需要加载这个类,然后获得类的实体,接着根据方法名去获取方法的对象,最后使用invoke传方法所需的参数就可以执行,如Spring这种框架就是使用反射的技术去注入对象的。
6. 什么是内省:
内省是Java提供的操作对象属性的API,实际上内部也是使用的反射技术,只是操作起来更加的方便。内省需要使用Introspector的getBeanInfo来获取与类相关的BeanInfo,使用getPropertyDescriptors可以得到BeanInfo的所有属性,然后使用getWriteMethod或getReadMethod可以获取该属性的set或get方法,得到的是一个Method对象,通过invoke方法可以运行。
7. MVC设计模式:
MVC设计模式是:Moudle,View,Controller,分别代表模型,视图,控制器。是Web开发中最常用的设计模式,每一层只关心自己的业务特点,无需关心其他模块,降低模块与模块之间的耦合性,增加项目的可扩展性和可维护性。
8. Spring框架的主要原理:
Spring框架的核心是IOC和AOP,IOC又叫依赖注入,有些人喜欢叫控制反转。它的基本原理是通过读取配置文件,通过配置文件中配置的路径,读取文件目录下的所有Java文件,得到文件名称,依次反射这些文件,得到他们的方法和对象,对象或方法上有没有指定名称的注解,最后通过反射生成方法的实体给指定的对象赋值。
AOP又叫面向切面的编程,它可以降低业务之间的耦合度,如日志记录,事务控制,异常处理等等。可以在方法前或方法后做一些操作,它的基本原理是使用Java的动态代理API,通过API获得指定方法的代理对象,通过再代理对象方法执行前后增加方法,可以达到在不改变类本身的情况下,灵活在某些方法执行前后增加其他方法。
9. 什么是泛型:
泛型是JDK5.0中提供的一种新特性,当我们的方法,接受不确定类型的参数时,可以使用特殊变量T,T在使用之前要在方法中进行声明如:public <T> T getObj(T t)这个对象代表,接收一个任意类型的参数,并且返回这个类型的参数。Map集合声明时接收的key和value就是泛型,泛型作用在类上时,即可使用Map<String,String>这种形式进行泛型赋值。
10. 如何声明一个注解:
注解是Java中一个为了取代配置文件的技术,常见的注解有@Override,@Test等,声明一个注解只需要新建一个类,以Imooc注解为例,public @interface Imooc{} 即可声明一个名为Imooc的注解。内部可以以参数类型 参数名()的形式来声明注解中所需要的参数。
十全十美吧,这是总结的Java里面难度比较高的面试题,前面那几个简单的除外。当然了,小公司基本问不到,问不到可以引导他们往这些上面问,可以提升你的逼格。
接下来我要说一下最重要的面试过程:
首先你要明白一个问题,诚实只会让你被淘汰。面试官看你诚实,然后很感动要了你,这种事情只会在童话故事里面。
1. 首先要自信,你要告诉自己,你就是比尔盖茨,是乔布斯,要有自信,但是要谦虚不能自大,你一拽一拽的别人立马就给你个坏印象,但是你说话不流利结结巴巴的别人也不会有好印象,不骄不躁即可。
2. 不要让面试官一直问你,这样你会很被动,指不定他想起来什么坑爹的问题,在他看你简历这种停顿的时候,你就问他这些问题,比如说:哥,咱们公司主要是做什么的啊?如果我进了咱们公司主要做什么?你来咱们公司多久了?这些问题,聪明人肯定能看出来这是三个问题,不会有人一次问三个,除非你不想在这家公司。这么问的是有原因的,一个是捧了他,还有一个潜移默化的告诉他,咱们咱们,让他感觉你已经是这个公司的了,并且,让他跟你说你进来以后主要做什么,他就会觉得,恩这个人正适合做这些,就好像你已经入职了,他告诉你要做什么一样。
3. 不会的问题不要说不会,你可以这么说,首先,如果你知道的一点的话,你就说:这个我研究过,但是上家公司没怎么用,所以没有太深入的了解,如果公司需要的话,我可以很快就学会了。如果这个东西你压根没有听说过你可以这么说:听说过,但是还没看过,如果公司需要的话,很快就能学会了。
4. 要表现出,你对编程这个行业无比的热爱,并且非常的有上进心,有拼搏进取的精神,想要在公司好好的发展,公司给我一片天,我给公司创造一个神话这种心态。还有就是如果他问了某一个问题你没有答上来,或者说那个技术实现你不懂你可以这么说:哥,你能不能给我说一下那个什么什么是怎么回事。这样有几个好处,一个是可以打发时间,面试的时间基本上都那么长,可以减少他问你的问题。另一个就是让他对你有一种好感,至少你很知道进取。最后切记,无论他说的对与错,你都要说,原来是这样啊,谢谢哥,当然,如果那个人明显比你小的话就不要这么叫了,还有就是你面试项目经理级别的职位,就无需这样。
5. 关于上家公司的离职原因,其他没什么记住不要说这几个原因:公司氛围不好,公司工资太低,合同到期了,公司加班多,公司出差多,公司不适合我的发展,公司待遇太差,公司女的太少,个人原因。凡是这些问题的,一律都是找死行为。你可以这么说,我只是举个例子。之前家里有点事情,安排相亲或者什么任何事情都可以,需要耽误一个月左右,公司那时候项目比较着急,老板等不及,然后我就辞职了。
6. 谈薪资的时候要坚定,一口咬定,不要说多少左右,或者多少到多少,直接说6000,8000,10000这些,如果不是万不得已,不要说6500,8500,这种后面带五百块钱的工资,这会让人对你产生怀疑,记住工资不能说多少左右。
编工作经验:
1. 在学校的时候,虽然我这个人不是很聪明,但是比较努力,老师们也喜欢让我做一些事情,然后我们学校某某老师他就经常接项目做,我就跟着他在学校做,主要是做什么做什么。
2. 我们学校大三的时候会安排出去实习,我在某某公司实习了一年,主要是做什么做什么。
3. 最后一年感觉在学校学不到什么东西,就自己出来找工作了,然后做了一年多,刚回学校参加完答辩,在那家公司主要做什么做什么。
需要注意的是,做什么这就需要你自己去编了,这很简单,你只要提前做过几个小案例,我相信编个这个还是很容易的吧。
基本上,面试问题就这么多了,希望大家都要牢记自信,当你有自信的时候,你就无惧任何的面试官,再一个就是既然选择了这个行业,就一定要用心。这里不是说教大家说谎,而是让我慕课学子不会因为工作经验这个门槛而被拒之门外,或者因为这个干着8000一个月的工作,拿着3000一个月的工资。
大家能够做到上面说的话,不管是不是新手,一定能拿到6000以上一个月的,如果还有做不到的请联系我,我亲自教你怎么做。
海阔凭鱼跃,天高任鸟飞,加油。
Java面试:1的更多相关文章
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结
我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...
- 转:最近5年133个Java面试问题列表
最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...
- java面试宝典(蓝桥学院)
Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...
- JAVA面试精选【Java基础第一部分】
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...
- Java面试必备知识
JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...
- java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏
2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...
- 近5年133个Java面试问题列表
Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...
- java 面试
115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...
- 【Java面试】基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)
hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加 ...
随机推荐
- C#基础系列——委托实现简单设计模式
前言:上一篇介绍了下多线程的相关知识:C#基础系列——多线程的常见用法详解,里面就提到了委托变量.这篇简单介绍下委托的使用.当然啦,园子里面很多介绍委托的文章都会说道:委托和事件的概念就像一道坎,过了 ...
- 微信小程序之知乎日报
上一次的<微信小程序之小豆瓣图书>制作了一个图书的查询功能,只是简单地应用到了网络请求,其他大多数小程序应有的知识.而本次的示例是知乎日报,功能点比较多,页面也比上次复杂了许多.在我编写这 ...
- go 数据类型转换
使用strconv 包 首先需要import strconv包 //string to int i,err := strconv.Atoi(str) // string to int64 i64,er ...
- 【JavaScript】图片上传预览
上传文件实时显示[一张图片]: 个人理解:给img的src传值:这个值就是input[type='file']的value: 不过你要判断浏览器类型[很多]:IE6.0,IE7/8/9,Fixfox7 ...
- UI: 多窗口
1.自定义帮助类,用于简化 SecondaryView 的管理UI/MultipleViews/SecondaryViewHelper.cs /* * SecondaryViewHelper - 自定 ...
- MFC用户自定义消息
之前做过佳能相机和位移平台的额二次开发,当时遇到一个棘手的问题,就是位移平台如何知道相机已经拍完照了,或者相机如何知道位移平台已经运行到指定位置,当时为了方便采用了定时器来定时检测位移平台的位置,结果 ...
- linux red hat 给普通用户开启root权限
环境:虚拟机:red hat 6.5:root角色用户:普通用户:宏基笔记本:win7: 操作过程: 1.登录普通用户,进入图形界面(可以设置为启动登录进入命令行界面): 2.按Crl+ALT+F2进 ...
- jQuery倒计时插件
倒计时jQuery插件 引言 最近又换工作了,还不错,我换工作的次数其实有点频繁,2014年7月份毕业,到现在工作已经换了3份了,工资跟刚毕业时候相比也涨了点儿,最近一次换工作我离开了深圳,来到了北京 ...
- J2EE学习路线图
一:J2SE 面向对象-封装.继承.多态 内存的分析 递归 集合类.泛型.自动打包与解包.Annotation IO 多线程.线程同步 TCP/UDP AWT.事件模型.匿名类 正则表达式 反射机制 ...
- 图解JAVA对象的创建过程
前面几篇博文分别介绍了JAVA的Class文件格式.JVM的类加载机制和JVM的内存模型,这里就索性把java对象的创建过程一并说完,这样java对象的整个创建过程就基本上说明白了(当然你要有基础才能 ...