☆★☆★快来!!10月25日读者见面会☆★☆★
清华大学出版社《Java程序员,上班那点事儿》作者:钟声 章节:1.2.3:
前面我们了解了和不同角色的人物见面的面试技巧,下面再说说程序员们更加频繁遇到的一个考核方式“笔试”。
“笔试”对于初级程序员应聘者来说是一个关键一关,也是刷掉的可能性最大的一关,一次面试中大部分程序员都会由于“笔试”没有过而无缘进入下一个阶段,只有少数程序员得到与主考官见面的机会。
作为即将应聘初级程序员的我们,更应该做好技术的准备工作,这部分工作恐怕要花费比较多的时间去准备。
如何准备?
还是那句话至少应该读完本书,因为除了“技巧”之外,“技能”更重要。
1.2.3.1笔试目的
(1)为防止没有实际开发经验和开发技能的人来面试,可以通过“笔试”过滤掉一批人;
(2)考察掌握知识的扎实程度,及面对问题的思考方式。
1.2.3.2笔试误区,这些情况在笔试时应避免
(1)有一道题不会,就放弃了整个笔试
也许你认为这道题很难,其他竞争对手也会觉得很难。
(2)没有看清题匆忙作答
这不是入学考试,如果没有人给你计时间,你不用那么匆忙,正常速度作答即可。
(3)不能完整作答的,干脆就空白
这和我们在学校考试不一样,如果你不能回答完整,最好也写上思路,或者写上想和主考官说的话,有的时候他也会给你机会的呦。
(4)不清楚的一些概念性的问题,用其他同样不太清楚的概念“生搬硬套”
有些概念本来就不太清楚,就别拿另一个你不清楚的问题往上“套”啦,这样做,往往让主考官哭笑不得,一下暴露原来这些概念都不清楚。
(5)笔试没有60分及格线这么一说
应聘职位的“笔试”和我们在学校的“考试”完全不同,不存在“及格”与“不及格”的问题,也许你某一个道题回答的很精彩,但是总分并不是很理想也会被录用。
1.2.3.3笔试技巧
我挑了几道笔试题,曾经给入职程序员出过的几个测试题,大家看看应该怎么作答,我们再看看需要注意什么,题目如下:
1.2.3.3.1例题1:请说出这个程序的目的是什么?返回结果是什么?
public Station(URL urla){
try
{
String a="",b="";
InputStream ins = urla.openStream();
BufferedReader bReader = new BufferedReader(new InputStreamReader(ins));
String info = bReader.readLine();
int i=1;
info=bReader.readLine();
while(info!=null){
a=info.substring(0,info.indexOf("@"));
b=info.substring(info.indexOf("@")+1,info.length());
if (i==1){
this.X1=Integer.parseInt(a);
this.Y1=Integer.parseInt(b);
}
if (i==2){
this.X2=Integer.parseInt(a);
this.Y2=Integer.parseInt(b);
}
if (i==3){
this.X3=Integer.parseInt(a);
this.Y3=Integer.parseInt(b);
}
if (i==4){
this.X4=Integer.parseInt(a);
this.Y4=Integer.parseInt(b);
}
i++;
info=bReader.readLine();
}
}
catch(MalformedURLException e){
System.out.println(e);
}
catch(IOException e){
System.out.println(e);
}
}
该题解释:
第二问,返回值是什么?
总有人直接回答,说“没有返回值”,这说明没有弄明白构造函数的声明,如果是普通函数没有返回值的话,应该用“void”而不是没有写任何东西。
第一问,这个程序的目的是什么?
这个程序乍一看确实不太明白,其实,这正是在考察应聘者的想象力和理解能力,这个程序一看就应该知道这是一个构造函数,这个构造函数里有四对变量分别是“X”和“Y”作为开头的,让人直接联想到坐标,另外这个构造函数的名字是Station,说明这个类的名字是Station,因此,可以想见,这个确实是这个Station的四个点的坐标,是用http协议到一个Web上去取得一个字符串,再去解出这个字符串中的每一个数字,赋值给相应的属性。
某君的比较精彩回答:
该函数是一个构造函数,他的目的是构造一个Station类,根据他的名字和属性判断,这个类有可能是描述一个物体的位置信息,这个信息可以解出四个变量分别赋值给不同的属性。疑问,感觉用substring 和indexOf的方法解析出数据比较麻烦,为什么本程序不用String的split方法呢?那会更省事点。另外这个程序是采用URL类的openStream()方法得到远端某一个网页上的数据,那网页可能是一个JSP,可以直接从数据库中取得数据,这个方法,省去了一个自建的Server程序,这种用法我是第一次看到,感觉学习到了一个新的应用方法的知识。
1.2.3.3.2例题2:请写一段html,完成下列表格的样子。注意:是单线边框。
该题解释:
陷阱一:这道题初看起来很简单,似乎就是在考一个简单的“<table>”标记,于是有很多人都直接画出了一个table,至于单线边框的问题,他们总是用“border="1"”来描述table。
这样的话,画出来的图一定是这样的如图所示。
还是一个双线表格,并没有像上图一样的单线边框。
陷阱二:本题表格中的文字是大小写不同的,有的用的是小写,有的用的是大写,一定要按照要求回答问题,这主要考察的是按照要求完成任务的能力。
正确答案:
<table width="200" border="0" cellspacing="1" bgcolor="#000000">
<tr>
<td bgcolor="#FFFFFF">A</td>
<td bgcolor="#FFFFFF">b</td>
<td bgcolor="#FFFFFF">C</td>
</tr>
<tr>
<td bgcolor="#FFFFFF">D</td>
<td bgcolor="#FFFFFF">e</td>
<td bgcolor="#FFFFFF">F</td>
</tr>
</table>
如果你做过网页中的表格,一定知道应该用这个方法获得单线边框的表格,因为这是一个典型的单线表格设计方法。当然,有的人用CSS来回答这个问题,也可以算对,只是方法比较复杂了。
1.2.3.3.3例题3:一个算法题
再给大家一道据说是难倒很多人的题,这道题曾经有50人接受过提问,但是,只有3个人答对,请大家试试如何回答。
要求:有两个数组一个N个元素,另一个M个元素,这两个数组中有些元素是相同的,希望通过编写一段程序将两个数组中的相同元素找出来,请用最少的循环次数完成需求,请问需要用什么方法?
一般程序员马上会想到类似如下的程序:
for (int j=1;j<m;j++){
for(int i=1;i<n;i++){
……
}
}
那么,这个方法的循环次数是多少呢?
答:M*N个。
但是,要注意这个题的要求是,最少的循环次数完成需求,这时候只要想想一共有几种方法完成这个任务即可,然后从中选择一个最快的就行了。
正确的答案是,用哈希表的方法,这个方法的循环次数是M+N,一个是将M装入哈希表的循环,一个是将N逐个放倒M哈希表中去查询的次数。
这道题有两个陷阱,第一个,“算法题”,一般有些程序员只要听到“算法”这个词,马上晕了,从而影响合理的思考。第二个陷阱是“最少”,用最少的循环次数的方法,而不是普通的,但就是这么两个陷阱使很多应聘程序员落马。
1.2.3.3.4例题总结
大家看看,上面的笔试题其实从技术方面来说都不难,但是陷阱比较多,而且,需要你能够有想象力,与出题者形成互动。从这几个例题可以看出,招聘单位最需要的人是实践能力强的人,因此,我们要从这个方面多下功夫,这些功夫获取途径仍然是加强日常的积累,本书的后面章节中也会涉及更多的类似经验,读者可以循序阅读。
清华大学出版社《Java程序员,上班那点事儿》作者:钟声
分享到:
相关推荐
Java程序员在面试和笔试过程中,会遇到各种各样的问题,这些问题涵盖了Java语言的基础、进阶、多线程、网络编程、数据库操作、设计模式、框架应用等多个方面。本篇文章将根据提供的资料,深入探讨其中的一些关键知识...
Java程序员们最常犯的10个错误.docx java程序员的就业指导(重点).docx Java程序员面试宝典 .pdf java笔试题大集合及答案 Java经典项目集锦.rar JAVA编程题全集(100题及答案).doc Java面试文档题库 Java面试笔试题库....
Java程序员们最常犯的10个错误.docx java程序员的就业指导(重点).docx Java程序员面试宝典 .pdf java笔试题大集合及答案 Java经典项目集锦.rar JAVA编程题全集(100题及答案).doc java面试书籍源码 Java面试文档题库 ...
Java程序员们最常犯的10个错误.docx java程序员的就业指导(重点).docx Java程序员面试宝典 .pdf java笔试题大集合及答案 Java经典项目集锦.rar JAVA编程题全集(100题及答案).doc java面试书籍源码 Java面试笔试题库....
Java程序员们最常犯的10个错误.docx java程序员的就业指导(重点).docx Java程序员面试宝典 .pdf java笔试题大集合及答案 Java经典项目集锦.rar JAVA编程题全集(100题及答案).doc java面试书籍源码 Java面试笔试题库....
《Java程序员面试之葵花宝典》是一份集大成的资源,旨在帮助Java开发者准备公司笔试和面试。这份宝典涵盖了多个关键领域的知识,包括基础的Java编程、Servlet、JSP、EJB(Enterprise JavaBeans)以及常用的EJB容器等...
这是我找java软件工程师时候,收集的java面试题,汇集了主要的试题,实际我在笔试中有80%...JAVA程序员必读--基础篇chm.zip JAVA笔试宝典.rar Java面试及简历相关.rar 大公司JAVA面试试题.rar 经典JAVA面试30题及答案.rar
1. "C、C++笔试题集锦(找工作必读).doc":这份文档可能包含了各种C和C++的笔试题目,涵盖基本语法、数据结构、算法等,通过做这些题目,求职者可以检验自己的知识水平,了解自己在哪些方面需要加强。 2. "构造最全的...
Java程序员,面试必读.txt 软通动力招聘测试题.doc java面试葵花宝典.doc 新建 文本文档 (2).txt 125条常见的JAVA面试题.doc NET易筋经.doc 葵花宝典-Java Web类.doc 葵花宝典-基础类.doc 葵花宝典-数据库类1....
亚信java笔试题 免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿。 国外程序员在 推荐的程序员必读书籍,。 上的程序员应该阅读的非编程类书籍有哪些? 上的一个流行的编程书籍索引 欢迎订阅我的微信公众...
google员工,《我的算法学习之路》和《程序员必读书单1.0》尚可 安人心智科学总监,从事认知科技产品研发与项目孵化。 清华本科&&google员工 词向量相关 统计学博士 数学 google brain 原google工程师 主要记录一些...
推荐的程序员必读书籍,。 上的程序员应该阅读的非编程类书籍有哪些? 上的一个流行的编程书籍索引 目录 语言无关类 操作系统 WEB服务器 版本控制 NoSQL MySQL 项目相关 Web 编程艺术 语言相关类 C/C++ CSS Dart ...
亚信java笔试题 免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿。 国外程序员在 推荐的程序员必读书籍,。 上的程序员应该阅读的非编程类书籍有哪些? 上的一个流行的编程书籍索引 欢迎订阅我的微信公众...
亚信java笔试题 免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿。 国外程序员在 推荐的程序员必读书籍,。 上的程序员应该阅读的非编程类书籍有哪些? 上的一个流行的编程书籍索引 欢迎订阅我的微信公众...
亚信java笔试题 免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿。 国外程序员在 推荐的程序员必读书籍,。 上的程序员应该阅读的非编程类书籍有哪些? 上的一个流行的编程书籍索引 欢迎订阅我的微信公众...
亚信java笔试题 免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿。 国外程序员在 推荐的程序员必读书籍,。 上的程序员应该阅读的非编程类书籍有哪些? 上的一个流行的编程书籍索引 欢迎订阅我的微信公众...
你公司java开发笔试题目录 专业编程 - 关于这个列表 给我六个小时砍一棵树,我会用前四个小时磨斧头。 (亚伯拉罕·林肯) 面向程序员的全栈资源集合。 此页面的目标是让您成为更熟练的开发人员。 您只会找到我发现...
亚信java笔试题 免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿。 国外程序员在 推荐的程序员必读书籍,。 上的程序员应该阅读的非编程类书籍有哪些? 上的一个流行的编程书籍索引 欢迎订阅我的微信公众...
亚信java笔试题 免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿。 国外程序员在 推荐的程序员必读书籍,。 上的程序员应该阅读的非编程类书籍有哪些? 上的一个流行的编程书籍索引 欢迎订阅我的微信公众...
亚信java笔试题 免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿。 国外程序员在 推荐的程序员必读书籍,。 上的程序员应该阅读的非编程类书籍有哪些? 上的一个流行的编程书籍索引 欢迎订阅我的微信公众...