人生中的第一次工作面试。
面试完了,自我感觉还算可以。虽然没有达到我能做到的最好水平,但我想我还算正常。第一次,没有想象中的紧张。回顾一下面试过程:
先是上机做题,给一个文件,里面存放这一些数据,要求是从文件中读出数据,按大小顺序构建一棵二叉树,然后深度遍历这棵树,把结果写回原来的文件。附加题:1.构建成平衡二叉树
2.输出按照树的结构进行输出。
我到现在还不知道面试我的到底是个什么部门,我一直以为是我昨天投的招C#开发的部门,但是上来就让我用java写程序,我着实紧张了一把,因为太久没写java,我连import
java.io.*;都给忘了,有没有jdk doc,自己试import sys,import
System…试了好一会儿,当时紧张得不行,因为不写这个没法下手阿,这么基础的东西又不能问他们,还好过了一会儿,总算灵感来了,import
java….
其实想明白了的话,这是个很简单的问题。但是上来就不知道import什么东西给了我一些压力。我及时理清了思绪,现不做文件操作,先把构建二叉树的操作做好。这里思路还是很清晰的,递归的构造一个二叉树。再作深度遍历的函数,然后做文件的输入与输出。其实算法的部分很快就作好了,还有一半的时间花在回忆怎么从文件里面读取数据,怎么输出到终端这些基础的东西上去了。
FileReader,FileWriter,BufferedReader,System.out.println.
这些基本的操作我都忘了,汗。
一个小时的时间,我把基本的功能完成,然后叫他们过来看了一下,然后开始做附加的问题。
我以前好像做过树形的输出,同时感觉不熟悉平衡二叉树,就选定作第二个附加题。大概花了半小时才步入正轨,我不断的看表,开始紧张起来。后来的思绪一直很乱,但是好在我把每一小部分都作好了,最后合起来的结果也是对的。思路就是树有多高就开多少字符数组,每个字符数组代表一行,我只要把树结点按照它的位置填入所在的行就可以了。主要的操作就是算准位置。为了简单,我只考虑了数字只占一位的情况,也就是0-9。对于每个结点,标出它的位置在一棵完全二叉树的情况下的编号,根是1,左右孩子是2和3,类推。然后有树的高度,每个结点有它自身在树中的层次数,有了这3个东西,就可以算出一个结点在它所在的行要占用多少位w,以及它占用的位在此行中开始地方的列数begin,有了w和begin就可以把结点数字写入begin+(w+1)/2的位置。最后把各行依次输出就可以了。做完这些也正好用了我一个小时。还好在后来思绪比较乱的情况下,程序并没有出错。
然后是面试。简短的自我介绍,然后谈一谈自己的项目经验。我觉得我这些准备得并不充分。自我介绍不知道要说什么,被问及毕设中的难点在哪里的时候我也不知道怎么说。对于iptv的项目介绍,也不够充分。这些都有带改进。其实最希望这次能被录用,就不用我改进了。
如果录用我,下周二之前会给我电话,期待中。
-
Recent Posts
-
Categories
-
Archives
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007