数码天下-搜狐网站
搜狐首页 - 新闻 - 体育 - 娱乐 - 财经 - IT - 汽车 - 房产 - 女人 - 短信 - 彩信 - 校友录 - 邮件 - 搜索 - BBS - 搜狗 
大四学生面试总结 学编程的人不能不看的好文章
  时间:2005年08月16日11:44   来源:太平洋电脑网   作者:枣子 我来说两句我来说两句(0)
热点排行 即时新闻通知 进入新闻论坛 相关新闻:
 
中关村哪些数码相机不能买? 小“林志玲”最爱的手机(组图)
互联网六级考试
风靡全球的九大裸睡睡姿(图) 微软第一美女陈自瑶是同性恋? 液晶工厂内部探密!


     做为一名大四的学生,我面试过不少的单位,有成功的也有失败的,但是对我来说所有的失败在某种意义上都是一种成功,特别是我下面写的这些,写这篇文章的时候,我已经签了南京的一家软件公司,但是想起今年2月21日我面试苏州台湾的IT公司的经历联想(2005年新款 最新报价 相关论坛 )到我们现在学习编程的一些情况我真的深有感触,这次面试使我深深的体会到了失败但也收获了很多。我要说的将分成三部分,1.是我面试的具体经过2.是由面试想到的3.现今我应该做的。当然这些话很大程度上是我个人的意见,不可能完全得到大家的赞同,所以在某些观点上如果哪位朋友觉得跟我的有很大出入,请不要介意,也不要对我攻击,就当我没有说过,欢迎和我联系共同探讨这些问题!我的EMAIL:wutao8@263.net

1.面试经过

  大约在年前我接到了台湾瑞晟(Realtek)苏州公司的面试通知,通知我2月21日到苏州工业园区面试,接到面试后的几天我把一些专业课温习了一遍,特别是C++和数据结构,由于大学几年里,我一直专研这些方面,加上通过了高级程序员的考试,对于一些常用的算法我差不多也达到了烂熟于胸的地步,当时的感觉是如果问了我这些方面的问题我应该是没有问题的!

  21日那天我被安排在4:30面试,由一位技术人员单独给我面试,在问了一些简单的问题之后他给我出了一道编程题目,题目是这样的:

  (由于具体面试的题目比较烦琐,我将其核心思想提取出来分解成了两个独立的简单的问题,有可能问题分解的不当,请大家见谅,实际面试了一个的问题但比其复杂很多,而且涉及一些高等数学变换)

  1) 写一个函数计算当参数为n(n很大)时的值 1-2+3-4+5-6+7......+n

  哼,我的心里冷笑一声!没想到这么简单,我有点紧张的心情顿时放松起来!

  于是很快我给出我的解法:

long fn(long n)
{
long temp=0;
int i,flag=1;
if(n<=0)
{
printf("error: n must > 0);
exit(1);
}
for(i=1;i<=n;i++)
{
temp=temp+flag*i;
flag=(-1)*flag;
}
return temp;
}

  搞定!当我用期待的目光看着面试官的时候,他微笑着跟我说,执行结果肯定是没有问题!但当n很大的时候我这个程序执行效率很低, 在嵌入式系统的开发中,程序的运行效率很重要,能让CPU少执行一条指令都是好的,他让我看看这个程序还有什么可以修改的地方,把程序优化一下!听了这些话,我的心情当时变的有点沉重,没想到他的要求很严格,之后我对程序进行了严格的分析,给出了改进了的方案!

long fn(long n)
{
long temp=0;
int j=1,i=1,flag=1;
if(n<=0)
{
printf("error: n must > 0);
exit(1);
}
while(j<=n)
{
temp=temp+i;
i=-i;
i>0?i++:i--;
j++;
}
return temp;
}

  虽然我不敢保证我这个算法是最优的,但是比起上一个程序,我将所有涉及到乘法指令的语句改为执行加法指令,既达到要题目的要求而且运算时间上缩短了很多!而代价仅仅是增加了一个整型变量!但是我现在的信心已经受了一点打击,我将信将疑的看者面试官,他还是微笑着跟我说:“不错,这个程序确实在效率上有的很大的提高!”我心里一阵暗喜!但他接着说这个程序仍然不能达到他的要求,要我给出更优的方案!天啊!还有优化!我当时真的有点崩溃了,想了一会后,我请求他给出他的方案!然后他很爽快的给出了他的程序!

long fn(long n)
{
if(n<=0)
{
printf("error: n must > 0);
exit(1);
}
if(0==n%2)
return (n/2)*(-1);
else
return (n/2)*(-1)+n;
}

  搞笑,当时我目瞪口呆,没想到他是这个意思,这么简单的代码我真的不会写吗,但是我为什么没有往那方面上想呢!他说的没有错,在n很大很大的时候这三个程序运行时间的差别简直是天壤之别!当我刚想开口说点什么的时候,他却先开口了:“不要认为CPU运算速度快就把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做,因为CPU是为用户服务的,不是为我们程序员服务的!”多么精辟的语言,我已经不想再说什么了!接着是第二个问题:

  2),他要求我用一种技巧性的编程方法来用一个函数实现两个函数的功能n为如:

fn1(n)=n/2!+n/3!+n/4!+n/5!+n/6!

fn2(n)=n/5!+n/6!+n/7!+n/8!+n/9!

  现在用一个函数fn(int n,int flag)实现,当flag为0时,实现fn1功能,如果flag为1时实现fn2功能!

  他的要求还是效率,效率,效率!说实在话,如果我心情好的话我应该能给出一种比较好的算法,但我那时真的没有什么心思再想了,我在纸上胡乱画了一些诸如6!=6*5!的公式后直截了当的跟他说要他给出他的答案!面试官也没有说什么,给出了他的思路:

  定义一个二维数组 float t[2][5]存入[2!,3!,4!,5!,6!},{5!,6!,7!,8!,9!]然后给出一个循环:

for(i=0;i<6;i++)
{
temp=temp+n/t[flag];
}

  最后得到计算值!呵呵,典型的空间换时间的算法!

  这些总共花了50分钟的时间,还有十分钟我就跟他很随意的聊聊天,聊了一些编程以及生活的问题,那时的我已经很放松了,因为我知道这次面试结果只有一个:失败。5:30的时候面试官要我等通知,于是我离开了他们公司。这就是面试的整个经过!


[1][2][3][下一页]

(责任编辑:张彩云)


搜狗(www.sogou.com)搜索:"面试",共找到 4,800,661 个相关网页
 ■ 图片新闻  ■ 数码人像摄影专栏
偷拍美眉撩人睡姿(组图) 人体餐具经典广告创意图集

T-Black的诱惑
容祖儿压阵
台湾街头偷拍槟榔西施
科技时代动物也疯狂
各国最令人瞠目结舌的照片
这个暑期让你的XP减减肥
T-Black的诱惑 V3蓝牙性感评测
容祖儿压阵 惹火美女现身
台湾街头偷拍槟榔西施
科技时代动物也疯狂
各国最令人瞠目结舌的照片
这个暑期让你的XP减减肥
性感女神钟丽缇手机图曝光 小林志玲最爱的手机 变态闹洞房实拍 2008年奥运主会场馆效果图
互联网上的第一幅图片
用Photoshop把照片处理成素描画
性感女神钟丽缇手机图曝光 小林志玲最爱的手机
变态闹洞房实拍(图)
2008年奥运主会场馆效果图
互联网上的第一幅图片
用PS把照片处理成素描画

页面功能   【我来说两句】 【热点排行】 【推荐】 【字体:  】 【打印】  【关闭

 ■ 相关链接

 ■ 我来说两句
用  户:        匿名发出:
请各位遵纪守法并注意语言文明。
 
*经营许可证编号:京ICP00000008号
*《互联网电子公告服务管理规定》
*《全国人大常委会关于维护互联网安全的规定》
天气预报
情感测试
每日财运
爱情运势
泡妞宝典
魅力贴士
手机 包月自写5分钱/条

最新制作 想唱就唱
夏天的味道 哪一站
幸福回味 祝你快乐



精品专题推荐:
谁说赚钱难告诉你秘诀
开心玩彩信积分抢红包
全球幸运星共同赏七剑
彩信新生活参与赢大奖

短信订阅
焦点新闻魅力贴士伊甸指南魔鬼辞典
寻找公社美女进行中




Untitled
炫彩彩信

精彩WAP



原唱 木乃伊 解脱
  一个人的战役 童话
热门 某个女人的美
  回心转意 一路向北
短信







搜狐商城
·家电|飞利浦美容脱毛器
·音乐|2005格莱美的喝彩
·家居|白领时尚家居大全
更多...
-- 给编辑写信
copyright © 2005 sohu.com inc. all rights reserved.搜狐公司 版权所有