[java面试题汇总]ja面试题汇总今天去一家公司笔试,发挥的不好,被打击了一小下下.公司笔试的题目一般出的都有点变态,现将有的东西整理一下,以免下次再遇到这种问题~ 1.Ja是从( )语言改进重新设...+阅读
JAVA面试技巧
MSA要素
MSA—关键事件法(Most Significant Accomplishment)
— 相关:根据事先GOD法确定的职位胜任力,要候选人就相关(或类似)的“关键事件”举例:
—证据:每一项胜任力背后至少有一个过去的实际行为事例来支持:
行为包括:所做、所说、所想、所感
■Probing漏斗示面试法
漏斗式提问技巧—面试中有效的追问方式,即由开放式提问开始随后用探究式提问 (Probing)层层深入,直到获得所需具体证据;
■漏斗式提问原则—由广及深,以终为始。适用于探究任何方面的信息
■每个胜任力及行为表现背后必须由至少一个STAR事例来考核;
■STAR原则面试法
根据如下要考虑每个STAR的重要性:
相似性 — 他/她所说的情景与所面试的职位是否相关?
影响程度 — 他/她所说的情景或结果有多重要?
时间性 — 他/她所说的行为是什么时间发生的?
Java工厂模式
interface Fruit { // 定义一个水果接口 public void eat(); // 吃水果}class Apple implements Fruit { public void eat() { System.out.println("** 吃苹果。"); }};class Orange implements Fruit { public void eat() { System.out.println("** 吃橘子。"); }};class Factory { // 定义工厂类 private static Factory factory; private Factory(){} public static Factory getInstance() { if(factory==null){ factory=new Factory(); } return factory; } public Apple newApplet(){ return new Apple(); } public Orange newOrange(){ return new Orange(); }};class FactoryModel { public static void main(String args[]) { Fruit f = Factory.getInstance().newApplet(); if (f != null) { // 判断是否取得实例 f.eat(); } f = Factory.getInstance().newOrange(); if (f != null) { // 判断是否取得实例 f.eat(); } }};...
java工厂模式懂的人进
举两个例子以快速明白Java中的简单工厂模式:女娲抟土造人话说:“天地开辟,未有人民,女娲抟土为人。”女娲需要用土造出一个个的人,但在女娲造出人之前,人的概念只存在于女娲的思想里面。女娲造人,这就是简单工厂模式的应用。 首先,在这个造人的思想里面,有几个重要的角色:女娲本身、抽象的人的概念和女娲所造出的一个个具体的人。 1.)女娲是一个工厂类,也就是简单工厂模式的核心角色。 2.)具休的一个个的人,包括张三,李四等。这些人便是简单工厂模式里面的具体产品角色 3.)抽象的人是最早只存在于女娲的头脑里的一个想法,女娲按照这个想法造出的一个个具体的人,便都符合这个抽象的人的定义。换言之,这个抽象的想法规定了所有具体的人必须都有的接口(特征或者功能) 其UML类图出下所示:理解了上面的这些东西,再来理解下面的例子,对照理解,相信看完这篇文章,便对java简单工厂模式有一个很好的理解:有一个农场公司,专门向市场销售各类水果,在这个系统里需要描述下列水果: 葡萄 Grape 草莓 Stuawberry 苹果 Apple水果与其他植物不同,最终可以采摘食用,那么一个自然的做法是建立一个各种水果都适用的接口,以便与其他农场里的植物区分开来,此时,则是为水果类声明了一个接口,表现在代码上: 1 public interface Fruit { 2 // 生长 3 void grow(); 4 // 收获 5 void harvest(); 6 // 种植 7 void plant(); 8 } 9 10 水果接口规定出所有的水果必须实现的接口,包括任何水果类必须具备的方法plant(),grow(),和harvest();Apple类是水果类的一种,因此它实现了水果接口所声明的所有方法。
另处,由于苹果是多年生植物,因此多出一个treeAge性质,描述苹果的树龄。代码如下所示: package fac; public class Apple implements Fruit { // 通过implements实现接口Fruit private int treeAge; public void grow() { log( " Apple is growing " ); } public void harvest() { log( " Apple has been harvested " ); } public void plant() { log( " Apple ha been planted " ); } public static void log(String msg) { System.out.println(msg); } public int getTreeAge() { return treeAge; } public void setTreeAge( int treeAge) { this .treeAge = treeAge; } } 同理,葡萄 Grape:package fac;public class Grape implements Fruit{ private boolean seedless; public void grow(){ log("Grape is growing."); } public void harvest(){ log("Grape has been harvested"); } public void plant(){ log("Grape ha been planted"); } public static void log(String msg){ System.out.println(msg); } public boolean isSeedless() { return seedless; } public void setSeedless(boolean seedless) { this.seedless = seedless; }}草莓 Stuawberry:package fac;public class Strawberry implements Fruit{ public void grow(){ log("Strawberry is growing"); } public void harvest(){ log("Strawberry has been harvested"); } public void plant(){ log("Strawberry has been planted"); } public static void log(String msg){ System.out.println(msg); }}农场园丁也是系统的一部分,由一个类来代表,FruitGardener类,代码如下:package fac;public class FruitGardener{ public static Fruit factory(String which)throws Exception{ if(which.equalsIgnoreCase("apple")){ return new Apple(); }else if(which.equalsIgnoreCase("strawberry")){ return new Strawberry(); }else if (which.equalsIgnoreCase("grape")){ return new Grape(); }else{ throw new Exception("Bad fruit request"); } }}这时有人来果园玩,和园丁说,给我们说明下你的水果吧。
于是园丁:package fac;public class People { public static void main(String[] args) throws Exception { FruitGardener fg=new FruitGardener(); Fruit ap=fg.factory("Apple"); ap.grow(); Fruit gp=fg.factory("Grape"); gp.plant(); Fruit dd=fg.factory("ddd");//抛出Bad fruit request异常 } }(注:以上代码在JDK5.0,Myeclise3.2下编译通过)类比两个例子,园丁就相当于女娲,而水果就相当于具体的人,接口水果类就相当于存在于类女娲思想里的人的抽象概念。由以上两个例子可得出,简单工厂模式需要由以下角色组成: 接口 接口的实现类(简单工厂模式里面的具体产品角色) 工厂理解了以下两个例子,再来看第三个例子:注意对比以下三个实例的不同实例1:package org.jzkangta.factorydemo01;//定义接口interface Car{ public void run(); public void stop();}//具体实现类class Benz implements Car{ public void run(){ System.out.println("Benz开始启动了。
。。。。"); } public void stop(){ System.out.println("Benz停车了。。。。。"); }}//具体实现类class Ford implements Car{ public void run(){ System.out.println("Ford开始启动了。。。"); } public void stop(){ System.out.println("Ford停车了。。。。"); }}//工厂class Factory{ public stat...
延伸阅读:
java面试经验本站下面来谈谈应聘ja的面试经验 对方说主要做JAVA方面的面试。基本上按照他的思路提问,我就结合项目经验回答: 1.数据结构。主要涉及ja.util包中的一些集合类。 2.OO。按照他...
java面试题目最全的ja面试题目,请您对此进行阅读与参考:JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目...
java面试宝典String和StringBuffer的区别JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这...
java面试问题JAVA常见面试题1)transient和volatile是ja关键字吗?(瞬联)如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。例如:class T{transient int a; 不需要维持int b;...
java面试题字符串反转 public String reset(String message) { StringBuffer buffer=new StringBuffer(); for (int i = message.length()-1; i >=0 ; i--) { buffer.append(message.s...
java面试技巧工作经验很重要,其次是技能! 因为面试会问你什么,这是你不能尽善的! 我当年找工作,他问我有没有经验,做没做过,我说没有!刚毕业!我觉得我太诚实了,但是我也是实话实说!后来他和我说话就...
java工程师面试技巧java工程师啊,没面试过一般都是java技术人员 工程师级别太高了!! 面试技巧说下把:介绍自己就不说了记得扬长避短 有工作经验的可以说自己以前做的项目稍微吹吹无妨别吹太过就好,...
java刚培训完求面试技巧!这个因人而异。 也许有的招聘者看重能力,不注重专业是否对口。那只要你表现和应答得好,就也许给你机会。 但更多招聘者事先就写死了只要XXX专业。那样除非你有多年工作经历并...
Java面试技巧和常用问题解答第一,谈谈final, finally, finalize的区别。 final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally 是异常处理语句结构的一部分,表示总是执行。 fi...