多语言展示
当前在线:1296今日阅读:19今日分享:20

Java程序员面试问题以及答案

面试的时候我们经常会被问一些常用的java提知识和一些个人问题,弄得我们不知所错,本人是一面hr后来学习了java现在是一名三年经验的程序员,帮助了很多学生就业希望我的经验能够帮助你们找的答案和自信。
方法/步骤
1

一.Hr面试的常见问题?1.你为什么想离开目前的职务? 答:不要写因为你自身原因而离职,什么工资低、工作太累之类的,与领导不和之类的绝对不能写.会觉得你这人太挑剔,以后你可能也会因为这些原因。  的原因导致你不得不离职,比如:人际关系复杂、单位领导无能,一定不会录用你,因为他们会想,如果有一天你,也会这样在背后骂他们。  破产的原因,一定要慎重,如果你原来所在,那么是否破产在网上是很容易查到的.如果你的谎话被揭穿,工作是肯定没有了.  可以填写如下原因:  单位有工作人员是领导的亲戚或朋友,而自己则是应聘进去的,很多好的机会总轮不到自己;  你自己是经人介绍去的单位,无论做出什么成绩都会被人任为是得到了领导的照顾,所以自己想换个工作,这样更能体现自己的能力.  总不按时发工资,有拖欠现象。  公司对客户的承诺经常不能兑现,搞的你们总是要对客户进行解释。2.了解有多少? 答:她问这个问题的目有一些了解但是补全,如一点都不了解就来说明你很着急找工作。你挑选一个点来说就行。3.请你自我介绍一下?答:纯属没话话题呢,这个时候他的目的是为了看简历,然后和你有点聊得,如果你学历不行那么就多说说,项目,如果你项目也不行那么就多说说自己会的技术。4.谈谈你的家庭情况?答:这个问题的时候一般就是想说你的了解你和你也是有些话题可以聊,看这个问题能了解很多比如果你的性格,你对父母的观点,一个人对父母的观点如果不好那么这个人也不知道感恩不是麽?5.你有什么业余爱好?答:尽量说一些外向的比如篮球啦,lol也行 能和别人一起参与的这样的兴趣爱好说明你能和别人相处的来说明你不是一个独行侠。6.谈谈你的缺点和优点?答:千万别说你没有缺点,这样说弄得好像你多高傲一样,我觉的问你这个问题就主要是看你对自己的了解,就说一些正常人都会有的一些缺点就行,当问你优点的时候你就回答一些谦虚,如果说性格好,善于交流,喜欢学习等等7.你对加班的看法?答:问这个问题,并不证明一定要加班,只是想测试奉献。回答样本:如果是工作需要我会义不容辞加班,我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班。8.你对薪资的要求?答:最重要的是:应聘者要使找招聘单位相信,应聘者在过往的单位的“离职原因”在此家招聘单位里不存在。   避免把“离职原因”说得太详细、太具体。   不能掺杂主观的负面感受,如“太幸苦”、“人际关系复杂”、“管理太混乱”、“公司不重视人才”、“公司排斥我们某某的员工”等。   但也不能躲闪、回避,如“想换换环境”、“个人原因”等。   不能涉及自己负面的人格特征,如不诚实、懒惰、缺乏责任感、不随和等。   尽量使解释的理由为应聘者个人形象添彩。   “我离倒闭。工作了三年多,有较深的感情。从去年始,由于市场形势突变,公司的局面急转直下。到眼下这一步我觉得很遗憾,但还要面对,重新寻找能发挥我能力的舞台。”同一个面试问题并非只有一个答案,而同一个答案并不是在任何面试场合都有效,关键在于应聘者掌握了规律后,对面试的具体情况进行把握,有意识地揣摩面试官提出问题的心理背景,然后投其所好。9.你还有什么问题要问吗?答:企业的这个问题看上去可有可无,其实很关键,企业不喜欢说“没问题”的人,因为其很注重员工的个性和创新能力。企业不喜欢求职者问个人福利之类的问题,如果有人这样问:的员工有没有什么培训项目,我可以参加吗?的晋升机制是什么样的?企业将很欢迎,因为体现出你对学的忠诚度以及你的上进心。10.谈谈你过去的工作经验中,最令你挫折的事情? 答:回答提示:曾经接触过一个客户,原本就有耳闻他们以挑剔出名,所以事前的准备功夫做得十分充分,也投入了相当多的时间与精力,最后客户虽然并没有照单全收,但是接受的程度已经出乎我们意料之外了。原以为从此可以合作愉快,却得知客户最后因为预算关系选择了另一家代理商,之前的努力因而付诸流水。尽管如此,我还是从这次的经验学到很多,如对该产业的了解,整个team的默契也更好了。11.

2

二.java技术方面的常见问题?1.String是基本数据类型么?答:不是基本数据类型,基本数据类型有8种,byte,int,char,long,float,double,boolean和short。引用数据类型包括:类,数组,借口等(简单来说就是除了基本数据类型之外的所有类型),所有呢String是引用类型。2.int 和 Integer 有什么区别?答:int 是基本数据类型Integer是其包装类,注意是一个类。为什么要提供包装类呢???一是为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化。比如,现在int要转为Stringint a=0;String result=Integer.toString(a);在java中包装类,比较多的用途是用在于各种数据类型的转化中。我写几个demo//通过包装类来实现转化的 int num=Integer.valueOf('12'); int num2=Integer.parseInt('12'); double num3=Double.valueOf('12.2'); double num4=Double.parseDouble('12.2'); //其他的类似。通过基本数据类型的包装来的valueOf和parseXX来实现String转为XX String a=String.valueOf('1234');//这里括号中几乎可以是任何类型 String b=String.valueOf(true); String c=new Integer(12).toString();//通过包装类的toString()也可以 String d=new Double(2.3).toString();再举例下。比如我现在要用泛型List nums;这里<>需要类。如果你用int。它会报错的3.JAVA中几种集合(List、Set和Map)的区别?答:list和set是继承collection接口list里面包含arraylist和linkedlist,这里给你举个linkedlist的例子吧:LinkedList array = new LinkedList();Integer i = -1;array.add('The');array.add('woods');array.add('Lovely');array.add('deep');array.addFirst(i);如果你指的第一个和第三个分别是-1和woods的话就是这样的array.remove(1-1);array.remove(3-1);如果是the和lovely的话就是这样的array.remove(1);array.remove(3);map里面包含hashmap和treemap,hashtable.set里包含hashset和linkhashset。List特点:元素有放入顺序,元素可重复 。arraylist添加删除费劲linkedlist查询费劲set特点:元素无放入顺序,元素不可重复,eg:Set set=new HashSet();    set.add(new Date());       //向列表中添加数据    set.add('apple');        //向列表中添加数据map特点:键值对,键不能重复4.list和arraylist区别?答:arraylist是一个类实现了list接口里边定义的方法,Arraylist采用的是数组形式来保存对象的,这种方式将对象在连续的位置中,所以最大的缺点就是插入删除时非常麻烦,linklist采采用的是将对戏那个存放在独立的空间中,而且在每一个空间中还保存下一个连接的索引,但是缺点就是查找起来非常的麻烦,要从第一个索引开始查询。5.HashMap和Hashtable的区别?答:都属于map接口的类,键值对的方式存储数据,Hashmap让存null,Hashtable不让存放null.hashtable.put(1,'女神');6.hashmap中添加和提取数据,删除数据?答:添加:put(),获取:get(索引,值),删除:remove(索引);7.list中常用的方法?答:循环遍历的三种:(1)List list=new ArrayList();  while(it.hasNext())       {           System.out.println(it.next());        }  (2).for(int i=0;i表示都可以用。46.orm框架是什么?答:ORM有映射关系的一种框架,对象会对应一个xml文件的映射,而且对象的方法可以放在映射里面存放。   47什么是token,怎么用?答:token是服务器端生成的一个字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成了一个token便将此返回给客户端,以后客户端只需要带上这个token前来请求数据即可,无需再次带上用户名和密码。token的目的是为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库。怎么用:(1).服务器会生成一个uuid,服务器会把这个uuid直接存到数据库里面,然后在将这个token值返回给客户端(2)客户端拿到token值之后,使用sp进行保存。(3)以后客户端在发送网络请求(一般不是登录请求)的时候,就会将这个token值附带到参数中发送给服务器。(4)服务器接受到客户端请求后,会取出token值与保存在本地(数据库)中的token值做对比eg:      48.java的核心优势是什么?答:电脑和电脑之间通过互联网连在了一起,但是没个电脑的系统都不一样,这个时候我们需要一个语言可以在任何的系统上面跑,就出了java语言跨平台么,而且java发展悠久所以java遇到的问题比较完善。49.jdk,jre,jvm是什么,什么关系,用来干什么怎么用?答:jdk是java开发工具包,jre是java运行时环境,jvm是java虚拟机,jdk包含jre,jre包含jvm,java虚拟机是用来执行java自解码文件,jre可以帮助我们加载一些外部的环境50.什么是微服务?答:就是把一个大项目放到不同的服务器上开发,把功能拆开放到不同的服务器上降低他们之间的耦合性。51.cs和bs的区别?答:cs是客户和服务器模式,比如说qqbs是服务器和浏览器,比如说p2p52.什么是分布式开发?答:将一个项目分布到不同的服务器上 ,通过网络来共同完成,也包括数据库也分布在不同的计算机上,来完成一个任务。53.javaweb项目中权限管理怎么设计的?答:普遍设计三个表,一个用户表(user),角色表(role),资源表(Resource)54.分布式和集群的区别?答:分布式是以缩短单个任务执行时间来提高效率,而集群则是通过提高单位时间内的任务来提高效率。例如:如果一个任务由10个子任务组成, 每个子任务单独执行时间是一个小时,则一台服务器上执行任务需要10小时(这个模式是典型的分布式开发模式)而采用集群方案,同样提供10台服务器,每个服务器都能单独处理这个任务,假设有10个任务同时达到,10服务器将同时达到这样整体来看就是1个小时内完成的任务。55.web service和htttp有什么区别?答:web service采用http协议传送数据,采用xml格式封装数据,web service是http封装的。webservice=http+xml数据格式56.什么是事物?答:所有的操作,增删改查都算上,必须成功完成,否则在每个操作中所作的所有更改都会被撤销,一个操作要么全部成功要么一个也别做。57.什么是terminal?答:terminal是链接linux操作shell脚本的插件。58.master-slave这个模式是什么意思?答:主从的意思,一般来说用在数据集群比较多,主要是实现读写分离,对于数据库而言,基本上都是读大于写的,而slave可以有好多台,slave与master之间存在心跳数据包,当master有数据写入时候master会将数据同步到各slave上,如果数据库采用master-slave的话,我们的代码不需要进行修改,eg:对于mysql要实现master-slave需要借助第三方代理工具59.解释一下线程和进程?答:一个程序员需要最少需要一个进程,而一个进程最少需要一个线程,所以线程是程序执行的最小单位。60.计算机的发展历史?答:更加容易被人使用,功能更加强大。机器语言(0,1二进制代码)冯诺依曼体系结构=>汇编语言(用单词来描述0,1,0,1指令)=>高级语言(c(贝尔实验室),java(核心优势是跨平台(我电脑是windows,服务器可以是linuxe,),去除了c++一些难以理解的特性,),c#(不能跨平台,window不是主流,linuxe是主流的))61.jdk,jre,jvm是什么?答:jdk是java开发工具包,jre是java运行时环境,jvm是java虚拟机jdk里面包含jre,jre里面包含jvm的关系jdk就是一个软件,包括了java运行环境,java工具和java的基础类库。虚拟机就是用来解析java代码用的。62.java为什么能跨平台呢?答:,我希望写的程序可以在Linux上面跑,可以在windows里面跑,可以在苹果系统里面跑,jdk里面有不同的虚拟机有linux,有windows的,有苹果的虚拟机,它写了三个版本,首先sun公司定义一个虚拟机的规范,他们就可以用不同语言来写一个虚拟机的规范,扩展一下:虚拟机就是一种规范,你可以用软件来实现,也可以用硬件来实现,有了虚拟机就能解析java文件执行程序。我在记事本里写的一个.java文件,然后编译称.class文件,在用jvm解析就是一个程序啦,这个.class就是你写public static class而且一个java文件可以生成很多class文件:END

推荐信息