40岁面试java的简单介绍

博主:adminadmin 2023-01-12 20:24:08 207

本篇文章给大家谈谈40岁面试java,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

40岁学过JAVA还能找到工作吗?

1、会找到的。

2、面试没过应该是你的专长和经验跟工作没对位。

3、如果是小公司希望找个多方面人才。

4、面试是可以根据职位要求把你会的弄够用得上的技能都说出来。

5、你有经验的没做过但是可以学会的也一并说上。

6、现在互联网知识更新很快是要随时学习的。

java程序员人事面试

这方面的问题回答,越简单越好,言多必失。官话么,说的冠冕堂皇就好了,但是要是积极的,乐观的。

问这种问题,要么是很N的公司,要么是很垃圾的公司。技术方面的可以多回答点

你为什么要应聘这个职位呢?

要对这个职位有浓厚的兴趣,目前的经验、能力,可以胜任

4.  你为什么选择来我们公司工作?

对贵公司非常感兴趣,也比较关注贵公司,愿意在这个优秀的平台上,展示我的梦想。

面试时平等的,要不卑不亢,你也可以反问他:

贵公司未来发展趋势是什么?

贵公司与同等行业的优势是什么?

如果很荣幸,我能来到贵公司,那我的工作职责是什么?

公司是否愿意培养新人?未来上升空间有多大?

项目进展状态?

合作团队规模?与我同等级别员工有多少人?

我今天的表现怎么样?(自己衡量下,如果自我感觉还不错,感觉面试官对你也比较满意。在问这个问题)

以上就是说个方向,具体的语言还要你自己组织下,面试前,做好充分的准备。我和你一样,JAVA WEB,不过我现在做管理,也招人,上面的问题我是不问,我只关新员工来了,能不能干活,是否稳定。技术差点没关系,大家可以交流。关键是要有想法,有思路。光说不做的,我也不要。一般都是通过面试的交流,能感觉到的。面试的时候,你要表现的积极点、主动点。分析面试官的问题,给出画龙点睛的回答,不会就是不会,不要装会,可以简单说说自己的理解,但是不能乱说,否则可能会起到相反的作用。

java面试要注意什么

这些年面试了各种水平不一的Java开发程序员,现在就是感觉现在做Java开发的人,内心过于浮躁,大部分的人都是急于求成,或许现在这个时代就是这个样子,每一个人都想要用最少的付出,得到最快的回报。尤其是现在的90后!技术一般,要求还很高。

其实很多刚想要入职的人,根据不懂的面试是什么,至于面试技巧之类的,更是一无所知,所以就导致面试受到了严重的打击,甚至有的人就放弃了。所以我从这篇文章中,想要总结一些面试技巧和一些坑,做好准备才能面试成功。

我是咋面试Java的?

一、简历

找工作无非就是两个步骤,首先是简历,其次是面试。先说简历的问题,一般情况公司肯定是从简历高的从上往下进行选择,因为学历其实本身就是代表了能力。但不是说学历代表了一切。在我们不了解面试者的实际情况下,我们只能从上往下面进行选择。无论是hr还是我们做技术的,都有自己的一个标准,所以你首先是简历要写的让别人映入眼帘。而不同职能的人捞简历的方式也千差万别。

我选择简历的角度有自己的看法,当然,不同的面试官有不同的选择。

1. 我看简历中所提的技术需求是否满足我的要求,我看重简历中他善于的技术,如果一点技术词汇没有提到,那么这个人有以下几种可能:

NO.1很水

NO.2很牛但是概率很小

NO.3不会写简历

在第一关中,很多人会因为简历不行,所以丧失了面试的机会。

大家肯定会问,我应该怎么在简历中体现自己的实力呢?

你现在面试个公司,他们的主要技术是SSM技术的工程师,你的简历里面只有 SSM这个名词是不够的,最好能体现出 SSM的生态来以及你对于SSM的理解。

二、个人介绍

如果简历通过了筛选,下面就是见真章的时候了,面试环节。首先一定要准备好一段5分钟的个人介绍。

遇见过这样的面试者,个人介绍说不完,废话太多,别人听的很烦,从高中时代说起,然而面试官并没有那么多的耐心和时间。这样会留下不太好的初次印象。正确的做法是:

言简意赅的说明自己的工作时间,擅长技术栈和自己的工作预期。

三、技术名词

我是通过技术名词来筛选简历,这就成为了我面试的重点部分。简历都是技术名词也是一把双刃剑:

1. 不写技术名词,简历不容易通过;

2. 写上,需要充分的准备,否则你的技术能力可能会面试失败;

四、询问项目的深度

项目经验是面试中“最”重要环节,要对于面试者有全面的认识,我会用很多时间去询问面试者做过的项目。

不会有人只有一个项目,我的问题就变成了:看出来你做过不少项目,有没有哪个项目是你做的最好,你可以拿出来说一说。

如果大家对于学习Java有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我,这是我的Java交流学习扣扣qun:前面是六一五,中间是七四一,后面是六三六。 多多交流问题,互帮互助,qun里有不错的学习教程和开发工具。

当面试者讲自己项目的同时,作为面试官,有几件事情需要确定:

1. 首先要确定项目是否是自己做的,即确定项目的真实性;

举个例子:你的项目是 SSM搭建的,是否可以告知搭建项目的过程和需要注意的地方是什么吗?

这时候有人就懵逼了,什么都说不出来。

细问之下,告诉我项目是其他同事搭建的,自己只负责开发业务。

2. 项目的缺陷

架构项目的时,想太多会过度设计,想的少会出现业务增长而造成的种种问题。企业在探索某个技术领域的最佳实践,其实并没有行业通用标准,只是思想可以借鉴罢了。

不过,经验丰富的话,还可以不断重构,确实可以修复项目的缺陷。所以呢?我的问题来了:在项目中碰到过一些问题,你是如何解决的?

这是考察你实际处理问题的能力,还有你这个人是否会独立思考,是否有脑子在运转,这个真正的个人能力。

 3. 项目的深度

项目做到一定规模后,想要得到更大的提升,一定会去深挖原理。

项目深度的考察其实比较难,总会有一些行业通用问题需要去解决,这也就是 BAT,TMD 这些公司经常会去制定一些行业标准,开源一些技术方案的原因。

当然,很多公司还是达不到这个层次,所以项目深度也是因人而异,并没有通用标准。

所以考察方向就成了对这个项目的持续开发,垂直领域以及深度思考。

五、程序基础,手写代码,算法

如果面试要求手写代码的面试官是不是都很傻叉?

当然不是,我们通过写代码就可以看出一个人的编程功底和编程思想。我们很多时候都在阅读别人的代码,所以能迅速的看出你代码问题的人,在我看来,能力是在你之上的。

六、是否热爱技术

一句话,即使你没有那么热爱技术,你也要表现的很热爱技术。

七、个人职业规划

最开始,我认为所谓的个人规划其实就是空谈,一切不切实际的东西。但是当接触的人多了,我慢慢发现。有职业规划的人和没有职业规划的人真的不一样。我会发现有些人之后的几年毫无进展,完全是在混资历,技术一塌糊涂。

为什么会有这种现象,我猜测大概有如下几点原因:

1. 没有个人规划,走哪算哪,混日子型;

2. 忙于管理,疏于技术;

3. 长期在一个岗位,做着千篇一律的事情,永远在写CRUD;

八、面试者反馈

面试接近尾声的时候,作为尊重,这时候我都会去问这样一个问题:大概情况我都了解了,有没有你觉得自己擅长而又没被问到的东西?

每个人都会有自己的思维,甚至是偏见,所以面试的时候一定要去得到面试者的互动和反馈,从而映证自己的观点。报着一个人才都不放过的心态,去全方位了解面试者。

九、你有什么问题想问我?

面试官一定要放低姿态,不要一副高高在上的样子,尤其是做技术的。如果觉得面试者稍微有些紧张,可以先聊点其他,如:所学专业,住在哪里,上下班时间之类无关痛痒的问题,缓解一下紧张气氛。

至于最后一个问题为什么要问:你有什么问题想问我?有以下几点理由:

1. 确定面试反馈;

2. 给面试者一个沟通的机会;

3. 看看面试者对应试部门的了解或者是对公司的兴趣;

Java面试技巧和常用问题解答

第一,谈谈final, finally, finalize的区别。

final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally 是异常处理语句结构的一部分,表示总是执行。

finalize 是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)

可以继承其他类或完成其他接口,在swing编程中常用此方式。

第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。

Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

第四,和的区别。

是位运算符,表示按位与运算,是逻辑运算符,表示逻辑与(and)。

第五,HashMap和Hashtable的区别。

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

第六,Collection 和 Collections的区别。

Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

第七,什么时候用assert。

Java1.4新增关键字(语法),用于测试boolean 表达式状态,可用于调试程序。使用方法 assert ,表示如果表达式为真(true),则下面的语句执行,否则抛出AssertionError。另外的使用方式assert boolean表达式,表示如果表达式为真,后面的表达式忽略,否则后面表达式的值用于AssertionError的构建参数。注意编译时要增加 -source 1.4 参数,否则报错。运行时要增加 –ea参数,否则assert行被忽略。

第八,GC是什么?为什么要有GC?

GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

第九,String s = new String("xyz"); 创建了几个String Object?

2个。首先在数据段创建一个"xyz"对象,再根据该对象在堆区创建一个新的对象,在栈区创建变量s,该变量是指向堆区对象的引用。所以一共两个String对象。

第十,Math.round(11.5)等於多少 Math.round(-11.5)等於多少?

Math.round(11.5)==12

Math.round(-11.5)==-11

round方法返回与参数最接近的长整数,参数加12后求其floor。

第十一,short s1 = 1; s1 = s1 + 1; 有什么错?short s1 = 1; s1 += 1; 有什么错?

s1 + 1运算结果是int型,需要强制转换类型。

s1 += 1; 可以正确编译。

第十二,sleep() 和 wait() 有什么区别

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用 sleep不会释放对象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

第十三,Java有没有goto

没有

第十四,数组有没有length()这个方法 String有没有length()这个方法?

数组没有length()这个方法,有length的属性。

String有length()这个方法。 来

第十五,Overload和Override的区别。

Overloaded的方法是否可以改变返回值的类型?

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。

第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?

Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。

equals()和==方法决定引用值是否指向同一对象。equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。

第十七,给我一个你最常见到的runtime exception。

NullPointerException或者IndexOutOfBoundsException。

(其它:ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,

ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException)

第十八,error和exception有什么区别?

error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。

exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

第十九,List, Set, Map是否继承自Collection接口?

List,Set是

Map不是

第二十,abstract class和interface有什么区别?

声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

第二十一,abstract的method是否可同时是static?是否可同时是native?是否可同时是synchronized?

 第二十二,接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concrete class)?

接口可以继承接口。抽象类可以实现(implements)接口。抽象类是可继承实体类,但前提是实体类必须有明确的构造函数。

第二十三,启动一个线程是用run()还是start()?

启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。

第二十四,构造器Constructor是否可被override?

构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

第二十五,是否可以继承String类?

String类是final类故不可以继承。

第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

不能,一个对象的一个synchronized方法只能由一个线程访问。

第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行?什么时候被执行,在return前还是后?

会执行。在return前执行,但如果return后边是一个表达式,会先计算表达式,再执行finally。

第二十八,编程题,用最有效率的方法算出2乘以8等於几?

有C背景的程序员特别喜欢问这种问题。

2 3(左位移几位表示乘以2的几次方,8为2的3次方,所以左移三位相当于乘以8。同理,右移几位相当于除以2的几次方。移位的方式做乘除运算效率最高)。

第二十九,两个对象x和y,它们的值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

不对,对象的值相同,则必然有相同的hash code。

第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

第三十一,swtich是否能作用在byte上?是否能作用在long上?是否能作用在String上?

switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich(Java1.7据说可以为String)

第三十二,编程题,写一个单例类Singleton出来。

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

一般Singleton模式通常有以下两种种形式:

第一种形式:定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

01. public class Singleton {

02. //第一步,定义一个私有的构造函数

03. private Singleton(){}

04. //第二步,定义一个私有、静态的该类的实例变量,并调用构造函数初始化

05. private static Singleton instance = new Singleton();

06. //第三步,定义一个公有、静态的方法,用于供外部取得定义的实例变量

07. public static Singleton getInstance() {

08. //第四步,返回(return)实例变量

09. return instance;

10. }

11. }

第二种形式

01. public class Singleton {

02. //第一步,定义一个私有、静态的该类的实例变量,并初始化为null

03. private static Singleton instance = null;

04. //第二步,定义一个公有、静态、线程安全的方法,用于供外部取得定义的实例变量

05. public static synchronized Singleton getInstance() {

06. //第三步,判断是否是第一次调用(实例变量为空),第一次时需要创建对象

07. if (instance == null) {

08. instance = new Singleton();

09. }

10. //第四步,返回(return)实例变量

11. return instance;

12. }

13. }

关于40岁面试java和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。