好文档 - 专业文书写作范文服务资料分享网站

java程序员面试技巧

天下 分享 时间: 加入收藏 我要投稿 点赞
10

java程序员面试技巧

【篇一:java程序员最可能被考到的面试题】

java程序员最可能被考到的面试题,命中率极高! 8-31 15:26查看6527回复36 部落用户

作为程序员在面试的时候碰到的问题还是很多的,不光要掌握像数组、链表、栈、队列和树这样基本的数据结构,在面试中还会碰到数据结构和算法问题。所以小编在这里告诉大家,下面的面试题目很有可能被碰到,一起来看看吧!

1. 如何只扫描一遍就找到位于一个链表正中间的元素?

这是最受欢迎的算法题之一,经常在电话面试中被问到。很多程序员会想,要知道链表的长度,就要先扫描一遍链表,然后在第二遍中取其正中的元素。所以被要求只扫描一遍就解决问题的时候他们就会很困惑。要解决这个问题,你要维护两个指针。一个每次往下走一个结点,而另一个每次走

两个结点。那么当走的快的指针到达链表末尾时,另一个指针就正好指在链表的正中间。

2. 如何确定一个链表中是否存在环?

这跟第一题有点类似。同样地维护两个指针,分别以每步一个结点和每步两个结点的速度走,那么如果当某一步结束以后两个指针指向同一个结点,就说明我们找到了一个环。

3. 如何只扫描一遍就找到一个链表倒数第三个元素?

这也是一个很经典的链表题,也可以用两个指针的方法来解决。我们让第一个指针先走,当它走出三步以后再让第二个指针开始走。那么当第一个指针到达链表的末尾时,第二个指针就正好指向链表中的倒数第三个元素。

4. 如何找到一个含有 1~100 的数组中唯一出现两次的元素?

这是一个挺简单的算法题。你可以把数组里面所有元素加起来,再减去 1~100 的和,就能得到那个重复的元素。当然你也可以暴力地去比对每一对元素,不过这样的复杂度是 o(n^2)。 5. 如何在 java 中反转一个字符串?

这是我最喜欢的问题之一。因为 string 是编程中最重要的类型之一,所以在技术面试中你会遇到许多跟字符串有关的问题。java 和其他编程语言都有许多不同的方式可以反转一个字符串,所以面试官往

往会禁止你使用某些特性,比如 reverse() 和 stringbuffer。之后他还可能会问如何用递归来反转字符串。 6. 如何用冒泡排序对数组进行排序?

在技术面试中我总是会问一些关于搜索和排序的问题。冒泡排序是最简单的排序算法之一,但如果你让一个候选人现场写冒泡排序,这能够很好地衡量他的编程技能。

7. 栈和队列这两种数据结构之间的区别是什么?

这是一个经典的数据结构问题,应该没有人不知道的吧?不管怎么说,最主要的区别在于栈是后进先出(lifo),而队列是先进先出(fifo)的。

8. 如何找到一个数组中所有重复出现的元素?

这个问题有时会作为第 4 题的后续出现。解决这个问题的一种途径是使用哈希表。遍历整个数组并将元素和出现次数存到哈希表中。最后你就可以统计那些出现超过一次的元素作为答案。在 java 中,当一个元素已经在 hashmap 中时,调用 get(index) 就可以得到对应的值,否则会返回 null。这个性质可以用来插入和更新 hashmap 中的值。

9. 单向链表和双向链表之间有什么差别?

这又是一个经常在电话面试中被问到的数据结构题。

单向链表和双向链表之间主要的差别在于它们的可遍历性不同。在单向链表中,每个结点只有指向下一个结点的指针,而没有指向上一个结点的指针,所以你就不能倒回去遍历。而双向链表的结点则维护了两个指针,往两个方向都可以遍历。 10. 如何打印斐波那契数列?

这是一个在面试中经常出现的编程问题。斐波那契数列是这样的一种数列:它的每一项都等于前两项之和,例如:1,1,2,3,5,8,13,21。面试官往往会关心这两件事情:一个能够返回斐波那契数列第 n 项的函数,以及如何在 java 中用递归解决这个问题。虽然这个问题很简单,但递归的部分可能会困惑一些初学者。 11. 如何判断一个整数是不是回文数?

跟前一题一样,这也不是一个算法题,但在面试中的出现率也很高。当一个数反过来写还是等于本身时,我们称之为回文数。面试官往往会要求你不使用 java api 和第三方库来解这个问题。当然,问题本身不难。你只要会用 / 和 % 就能解决它。/ 能去掉最后一位,而 %

能得到最后一位。比如 1234 / 10 会得到 123,而 1234 % 10 则能得到 4。

12. 什么是二叉查找树?

这是一个关于树的数据结构问题。二叉查找树满足一些特殊的性质,比如说每个结点的左子树中的值都要比自身小,而右子树中的值都要比自身大,等等。除了定义以外,面试官还可能让你在 java 中实现一棵二叉树并询问关于树的遍历的问题。比如中序遍历、先序遍历和后序遍历之间的区别。

13. 如何分别用递归和非递归方式倒置一个链表?

这是一个非常好的数据结构题,所以我希望你自己去思考。当然你也能轻易地在网上找到许多解法。 14. 如何用 java 实现一个栈?

你可以用数组或者链表来实现栈。这个问题期望你实现栈所提供的标准接口,也就是 push()和 pop()。这两个操作都应该发生在栈的顶部。当然,如果你能实现 contains() 和 isempty() 这样的功能就更好了。顺便一提,你可以利用 jdk 提供的 java.util.stack 来学习怎么实现一个栈。

【篇二:java程序员面试宝典_java程序员面试经验】

java程序员面试宝典_java程序员面试经验

一些java软件工程师求职者们,可能因为种种原因,对java语言及其深层原理掌握不牢固,以至于在面试中犯各种错误。本期乔布简历小编将为大家带来的主题是java程序员面试经验,一起来了解一下java程序员面试宝典吧~

关键词:java程序员面试宝典,java程序员面试经验 以下是一些java程序员面试需要注意的地方:

1、对于此类岗位而言,具体的项目是用人单位招聘时最看重的参考因素。即便是没有工作经验的应届生,也要准备可作为自己能力参考的具体作品。如果从未参加过任何项目,可以准备自己在相关领域的课程设计,如有必要还可以将其修改为完整的项目。对于这份具体作品,求职者要有相当的了解。通过求职者对于该作品的讲解,招聘官会判断求职者的技术能力到底如何。

2、java程序员要求掌握的技能会比较多,求职者在简历上可以分类依次列举出自己所掌握的专业技能,有证书的列出自己所持有的证书名称。在面试的时候,可以对自己所掌握的技能做出介绍,并辅以实例证明,这样会更具有说服力。

3、基础很重要,不要生疏了。不管应聘什么程序员岗位,基础永远都是最重要的。只有有了踏实的基础,再辅以较好的学习能力,这样才不会被互联网日新月异的变化甩开。很多程序员在面试时往往是因为答不出最基础的问题才会错失工作机会。面试前巩固一下基础知识,永远不要轻视了基础。

程序员要时刻关注技术前沿,将新技术与自己所从事的工作联系到一起,做一些深入思考,面试时谈谈这样的问题也是向面试官展现自己学习能力的好机会~ 本文来源简历

http://cv.qiaobutang.com/knowledge/articles/5652f8b30cf2a980ccfbcec2

【篇三:java程序员必备面试题库(完全版)】

java 综合面试题 2013-02-12

目录java面试题整

理 .............................................................................................................. 9

java面向对

象................................................................................................................... 9

1. super()与this()的区

别? ...................................................................................... 9 2. 作用域public,protected,private,以及不写时的区别?............................................. 9 3. 编程输出如下图

形。 .......................................................................................... 9 4. java的事件委托机制和垃圾回收机

制 ............................................................. 10 5. 在java中,如何跳出当前的多重嵌套循环? ................................................. 10

6. 什么是java序列化,如何实现java序列化?(写一个实例) ................................ 10

7. 一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制?......... 10

8. 排序都有哪几种方法?请列举。用java实现一个快速排序? ......................... 10

9. overload和override的区别。overloaded的方法是否可以改变返回值的类型?....11 10. 11. 12. 13. 14. 15.

16. final类有什么特

点?.....................................................................................11 继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? ................11 内部类的实现方

式?....................................................................................... 12 用java实现一种排序,java类实现序列化的方法(二

种)? ....................... 13 如在collection框架中,实现比较要实现什么样的接口? ...................... 13 用插入法进行排序代码如

下 .......................................................................... 13 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如我abc4,应该截为我ab,输

入我abc汉def,6,应该输出为我abc而不是我abc+汉的半个。............ 14

15、java编程,打印昨天的当前时

刻 ......................................................................... 15 16、文件读写,实现一个计数

器 ................................................................................ 15 17、指出下面程序的运行结

果。.............................................................................. 16 18、抽象类和接口的区

别?..................................................................................... 16 19、什么是类的返射机

制?....................................................................................... 16 20、类的返射机制中的包及核心

类?......................................................................... 17

java程序员面试技巧

java程序员面试技巧【篇一:java程序员最可能被考到的面试题】java程序员最可能被考到的面试题,命中率极高!8-3115:26查看6527回复36部落用户作为程序员在面试的时候碰到的问题还是很多的,不光要掌握像数组、链表、栈、队列和树这样基本的数据结构,在面试中还会碰到数据结构和算法问题。所以小编在
推荐度:
点击下载文档文档为doc格式
2bhc553iyr0h1ll01eyq0a6ri16ozy014f9
领取福利

微信扫码领取福利

Scan me!

微信扫码分享