记一次Java面试

标签:无

昨天同事叫我帮忙去面一个人,说是学了1年Java,看看他技术咋样。
于是我准备了一小时,想了几个题目来问他,结果发现我的知识面实在太窄了,愣是没问出一点他会的东西…
过程记录下来,大家可以参考参考,括号里是我的想法。
我:你好,听说你学了1年Java,请问除了Java,你还会其他语言吗?(如果不会的话,基本上Java也好不到哪去。)
他:还会.net和PHP。(.net不是语言啊…)

我:那你认为Java和.net、PHP相比,有什么优势和不足呢?(其实如果自己动脑写过一些东西的话,总会遇到一些不爽的限制;而如果只是照搬教科书,估计说不出啥。)
他:.net用起来比较方便…(后面那段话我实在听不清,重问了一遍也不知道他说啥)其实我对.net也不是很熟。

我:那就只问你关于Java的吧,平时你都拿Java做啥,应该写过一些程序吧?
他:有写过,主要是做网站。

我:做网站的话,主要用到什么工具呢?
他:Eclipse。

我:还有呢?总有数据库吧?
他:MySQL…不微软的数据库。(用MySQL又不是什么丢脸的事,干嘛非要改口扯到微软。)

我:那Java如何访问数据库呢?
他:…(支吾了半天)记不清了,1年多的事了。(囧啊,真怀疑到底有没有用过,起码提个JDBC之类的名词出来吧。)

我:你最常用的Java版本是多少?(很多企业开发还是用1.4,所以得确认下。)
他:…(没弄懂我说啥)
我:Java不是有很多个版本么,从1.0到现在最新的1.7,你平时开发是用哪个版本呢?
他:4.0吧。
我:4.0?是1.4吗?
他:你问的是什么版本?
我:就是JDK的版本。
他:应该是6.0吧。
我:那就是1.6了。请问你知道1.6与之前的版本有什么不同吗?
他:不知道。(好吧,算我白问了。)

我:这样吧,我出些题来考考你吧。有一个文本文件,是我从网络上复制的一篇文章(实际上我最初是想让他自己根据URL来抓取网页的,不过感觉他也不会),里面有中文、英文和数字等。其中,数包含整数和浮点数,我要你把其中所有的数的和计算出来,你应该怎么做?你可以尽可能地使用Java标准库。
他:…(答不上来)
我:需要我给你个思路吗?
他:好。
我:要从文本文件里获取数字,第一步就是读取文件,获取字符串,对吧?
他:嗯。
我:接着呢?如何从字符串中筛选出数字?(提示到这份上了,正则表达式毋庸置疑了吧。)
他:不知道,很久没弄过了,我主要是做网站。

我:那好吧,我问个简单的。让你去实现一个函数,接收2个参数,分别是整型数组和浮点数组,要求你返回2个数组中最大的一个数,你认为需要几行来实现?(实际上是想看看他是自己实现,还是用标准库里的max方法,以及是否考虑到了异常。)
他:几行啊,能说思路么?
我:也行。
他:…(又支吾了半天)很久没接触过了,让我再想想。
我:好的。
他:大概不是很难的吧,应该一个if/else就行了。
我:不会吧,难道不需要遍历吗?
他:…
我:我这样来问吧,我有2个数组,整型数组是1、2、3,浮点数组是0.1、0.2、0.3,你的函数应该返回3,应该怎么做?
他:是要有个遍历,很久了,印象不是太深了。(基本上可以认定是Java的基础语法都不怎么懂的人。)

我:那好吧,你说你会web,那么我考你一些HTTP方面的吧。HTTP有GET、POST、PUT等方法,它们各有什么用处?
他:GET的参数会显示在地址栏,PUT不会。(虽然是有些了解,但是我没问这个,而且答的仍然是错的。)
我:那么在用PUT传递数据时,它不放在URL里,服务器怎么获取呢?
他:…(不知道我说啥)
我:这样吧。我有一个登录页面,上面要填用户名和密码。用户输入用户名和密码,点提交按钮,这时应该是使用POST方法。但是用户名和密码不是通过URL传递的,那么服务器怎么获取用户名和密码?
他:应该是用servlet吧。
我:嗯,是的,那servlet有什么方法获取POST的数据呢?
他:…(再次支吾了半天)应该和GET一样用getParameter吧。
我:那数据是从哪来的呢?
他:不知道。
我:知道HTTP有header么?
他:不知道,我们没教过。(这时候已经不抱希望了,不过还是把问题问完吧。)

我:那你知道面向对象和设计模式吗?
他:就是OOP吧。
我:嗯,那你认为面向对象有什么好处?(其实就看他有没有提到这几个关键字:变化、封装、重用)
他:…(说了一通没说到点子上,于是我结束了面试)

2条评论 你不来一发么↓ 顺序排列 倒序排列

    向下滚动可载入更多评论,或者点这里禁止自动加载

    想说点什么呢?