日期:2014-05-18  浏览次数:20477 次

今天在一个公司应聘,应聘完之后……(给了一个面试题)
我是一个大三的本科学生,对.net极其的热爱,本着这份热爱,我逃了不少课,来专注于它,很想找个机会出去找个工作试试自己的实力,现在在高校里做过大大小小的十多个项目,有一些开发经验了。这里就专业技能就不再多说了。今天到一家公司应聘,聊了一下,老班对我的影响还是不错的。发了一个面试题给我做,但我对一些题目认识里存在一些模糊的地方,来此,希望各位CSDN的各位朋友给小弟一些启发和提示。不再于想各位给出答案,我只想各位有什么高见,提醒小弟一下。本人虽一个在校学生,但对现在外面的就业压力非常清醒,小弟在不懈的努力,还有一年就毕业了。希望有个好的前程!感谢各位,各抒己见!
问题如下:
1. ASP.NET]   请写一个ASP.NET的Page, 在这个Page中用一个Tree   控件按层次列出Server端所有的的有效驱动器,   及其每一个驱动器下的目录和文件,这个Page的用户可以新建   Folder,Upload   和Download文件,   如果你懂AJAX技术,请用AJAX实现。
2. [ASP.NET+SQL   Server]   如果你懂SQL   Server,   并选择了第1题,请在那Page上加入一个功能,   就是用户可以指定一个Folder,   把这个Folder的所有Sub   Folder   和File信息放入数据库中   (Dump)   ,并可以从数据库中把从新加载回来   (Restore).
请优化你的Dump   和Restore算法。
3. [HTML+DOM]   请写一个HTML的Page,   在上面实现一个可以移动的Window,   请注意这个Window用DIV实现,   而不是showModalDialog.   如果可以请在这个Window中显示www.capbayer.com   的Content.
4. [HTML+DOM]   请写一个HTML的Page,   这个Page中有一个table,   请利用DOM和Javascript实行它的列分割线可以用鼠标移动。
5. [JavaScript]     请描述如何在JavaScript的程序中使用面向对象(OO)的思想   ,   请写一些JavaScript的class作为你的描述的实例。
6. [算法]   如何检测一个可能很长很长的   单向链表中是否有环,   能否找到办法去掉呢?
7. [算法]   请实现一个模型去估算中国人口的男女比例。  
8. [其他]   为什么镜子中的人左右是反的,   而上下不反


------解决方案--------------------
还算不错的题目,基本能体现一个人的水平

前5个都是实际的问题,项目开发中经常很有这些东西,对于用实际项目经验的来说,不算很困难的东西!不过对于对应届生难度大了点,也许对于每个知识点你都很熟悉,不过要和起来就不容易了,毕竟学校的学生项目经验少,学习的时候都是割裂的学习每个知识点,系统的应用显得不足

总体上说这家公司出的题目还是蛮有水准的
------解决方案--------------------
最后一题有点意思呵呵.

如果我就跟他讲,因为镜子和人之间没有障碍,光线走的直线, 镜子里面是人的投影
------解决方案--------------------
第一题:列出一所有盘:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if( ! this.IsPostBack)
{
String[] Drives;
Drives=System.IO.Directory.GetLogicalDrives();
for(int i=0;i <Drives.Length-1;i++)
{
System.IO.DirectoryInfo dir=new System.IO.DirectoryInfo(Drives[i]);
TreeNode tn=new TreeNode();
tn.Text=Drives[i];
this.TreeView1.Nodes.Add(tn);

this.bind(dir,tn.Nodes);

}

}



}
void bind(System.IO.DirectoryInfo dirs,TreeNodeCollection nodes)
{
TreeNode node=new TreeNode();
node.Text=dirs.Name;
nodes.Add(node);
System.IO.DirectoryInfo[] dir=dirs.GetDirectories();
foreach (System.IO.DirectoryInfo d in dir)
{
this.bind(d, node.Nodes);

}

}

------解决方案--------------------
技术问题偏难或者说偏杂不过可以拿回来做查查资料问问人还是可以完成的.
算法和其他题蛮好玩的
6. [算法] 如何检测一个可能很长很长的 单向链表中是否有环, 能否找到办法去掉呢?
我有点不理解,
1. 如果是单向链表,那有环不就是死循环?
2. 如果连表有环那不就是队列变成了图,如果是图那么用图的几种遍历(深度优先遍历,广度优先遍历)可以去掉环将图转成树. 但它又说是连表,那么可以用连表的各种查找提高搜索速度,可它如果是图似乎就不能用连表的查找算法.又是矛盾!

7. [算法] 请实现一个模型去估算中国人口的男女比例。
既然要估算就要有输入参数
输入参数:
*所有统计的单位(比如年)(规则)
*统计未来多少年内的比例(规则)
*当前男女比例(社会)
*当前男女出生率(医学)
*一男一女生一个孩子的人口比例(法律),
*一男一女可以生两个孩子的人口比例(法律)
*生双胞胎的比例(医学)
*生三宝台的比例(医学)
*离婚再婚人口比例(社会)
*丧失生殖能力男性占男性比例(医学)
*丧失生殖能力女性占女性比例(医学)
如果需要结果精确还需要很多参数

算法:
我们罗列了比较多的输入参数,针对每个不同的输入参数会有各自的算法.所以
我们有一个算法的工厂.而且这个工厂中的对象是可以配置(增加,应为随着要求越来越精确我们需要添加更加多的输入和更加多的算法)