博文
学编程的人不能不看的好文章 (2006-11-01 21:41:00)
摘要:
学编程的人不能不看的好文章
做为一名大四的学生,我面试过不少的单位,有成功的也有失败的,但是对我来说所有的失败在某种意义上都是一种成功,特别是我下面写的这些,写这篇文章的时候,我已经签了南京的一家软件公司,但是想起今年2月21日我面试苏州台湾的IT公司的经历联想到我们现在学习编程的一些情况我真的深有感触,这次面试使我深深的体会到了失败但也收获了很多。我要说的将分成三部分,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; }
搞定!当我用期待的目光看着面试官的......
大一大二两年软件开发学习心得(2006-11-01 21:29:00)
摘要: 大一大二两年软件开发学习心得
转眼间在从大一踏进学校的校门到现在刚刚好两年了,在这两年里面,有学到了不少东西,包括怎么去独立生活,怎么去与人沟通,等等,当然最重要的还是学到了自己想要的专业知识。 记得大一的时候主要是学习计算机导论和C语言,对于急于想看到效果的我,C语言学起来就比较枯燥,因为C语言编写出来的程序主要还是在命令行的操作,我很想开发出windows界面的软件出来,但是没有办法,C语言是基础,没有这个基础就往高处想,恐怕梦想不会那么容易实现。所以我就认真的把C语言的基础打好,先掌握好里面的语法,程序控制逻辑和一些基本的算法,说真的,尽管是比较枯燥,但是一旦陷入了编程中,自然就会发现其中的快乐。 大一第二学期的时候开始接触NIIT的课程,平时虽然一点作业都没有,但是我上课的时候不是那么认真听课的人,所以课后总是要花时间来看看和理解老师上课的例子,在这个学期中,我们主要学习了C++和Java,都是刚刚开始接触到面向对象的语言中来,由于对一些面向对象的特性不熟悉,毕竟是刚开始接触这方面的语言,所以学起来就有点吃力,再加上平时实践的时间比较少。 终于到了学期的期末,学期期末的项目是使用Java语言开发一个网络的聊天室,在我还没有开发之前一听到这个项目,我做梦都没有想到我可以编写出一个聊天室出来,但是既然是课程提出来的项目,就一定有它的理由,我也相信最后一定也可以完成它。功夫不负有心人,经过接近一个月的研究,我总于完成了我来到学校的第一件作品。在这个月中,我不断得查阅资料,询问老师,平时和同学多交流,终于在最后的评审中,我获得了全班第二的好成绩。通过这个学期的开发中,我几乎把整个学期学到的知识都用到了我的聊天室里面,所以在实践中也等于复习了这个学期所学的内容,而且我发现这样的实践,比我在平时课后看书,看资料所学到的还多。
大二的第一学期,进入了数据库和高级Java的学习,说真的,在学数据库的那段时期是最烦的,因为每天就学了一大堆SQL的语言,非常的枯燥,都是关于怎么去查找数据表格里面的内容,那是时期,因为课堂上听课了之后觉得都是比较简单的,所以课后很少去动手。到了后来项目开发中,......
雅克比迭代算法(2006-11-01 21:13:00)
摘要:雅克比迭代算法
#include <iostream>
#include <string>
#include <vector>
#include <iomanip>
using namespace std;
const int n=3; //设置方程组的维
float a[n][n],x[n],b[n];
void input_data() //输入方程组的相关数据
{
cout<<"输入方程组的系数矩阵a["<<n<<"]["<<n<<"]:"<<endl;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
cin>>a[i][j];
cout<<"输入x[1,...,"<<n<<"]的初值:"<<endl;
for(i=0;i<n;i++)
cin>>x[i];
cout<<"输入b[1,...,"<<n<<"]的初值:"<<endl;
for(i=0;i<n;......
高斯-塞德尔迭代算法(2006-11-01 21:09:00)
摘要:高斯-塞德尔迭代算法
#include <iostream>
#include <string>
#include <vector>
#include <iomanip>
using namespace std;
const int n=3; //设置方程组的维
float a[n][n]={10,-1,-2,-1,10,-2,-1,-1,5},x[n]={0,0,0},b[n]={7.2,8.3,4.2};
void input_data() //输入方程组的相关数据
{
cout<<"输入方程组的系数矩阵a["<<n<<"]["<<n<<"]:"<<endl;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
cin>>a[i][j];
cout<<"输入x[1,...,"<<n<<"]的初值:"<<endl;
for(i=0;i<n;i++)
cin>>x[i];
cout<<"输入b[1,...,"<<n<<"]的......
写给即将步入大学,主修计算机专业的青年们的一封信(2006-10-31 13:28:00)
摘要:
写给即将步入大学,主修计算机专业的青年们的一封信
写给即将步入大学,主修计算机专业的青年们的一封信
大家好,新入学的学弟学妹们! 离开了辛苦高中阶段学习之后,恭喜您终于走进了大学的殿堂。尤其是学习计算机专业的你们,是祖国未来的IT精英,我们国家的信息化建设,未来世界的信息战的主力军就是你们了。因此作为一位过来人,我感觉有必要把我这么多年,走过的,看过的,听过的告诉大家,希望对大家未来的学习有所帮助。 其实这两年随着高校的扩招和IT人才的日趋饱和,IT人才的就业前景也不容乐观了。如果你自认为长相或者才艺出众,并且希望毕业后找到好的工作。我首先建议你去参加什么超级女生,超级男生之类的比赛,如果走红了,在演艺圈发展赚的钱要比搞IT多的多。 如果不是上面所说的这类人,那么就请继续往下看。 首先,我们来看看目前中国的大学环境,大学就是一个社会,因此你必须学会在这个社会里面与别人竞争。我们先来看看学校里面有哪些人群。第一类,学生干部们。如果你不希望以后留校作辅导员,那么不要参加所谓的学校的学生会之类的组织。那些所谓的学生干部就是打杂的。除了这些学生干部之外,此外学校里面还有几种人:一是拼命学习指望拿奖学金和保送读研的。这些人通常成天泡在自修教室里面或者图书馆里面。3年级之后,也许会进入导师的实验室。 二是家里有钱,整天除了打游戏就是泡美眉的。如果你想打游戏,卖装备赚钱,那你就一门心思投入进去,否则还是不要玩。至于交女朋友,劝你还是不要想,浪费时间,浪费钱,还不会有结果。此外还有就是做生意的,当然这里包括做推销买数码产品的,生活用品的,牛奶水果,反正卖什么的都有。当然,还有那些参加数学,物理比赛的,考证的,搞创新的就不赘述了。 不过说到底,我们都是搞IT,我个人推荐大家一条路,那就是1,2年级把专业课搞好,拿点奖学金和争取保送名额,同时打好搞开发的基础。3 4年级抽出时间做项目,赚钱。 计算机这门课非常特殊,基本上国内的基础课和国外相比相对落后,而且和实践比较脱节。所以一些专业课大可以酌情考虑是否去修。很多课程考试前一个礼拜突击一下就可以应付。......
学好英语的42个经典要诀(2006-10-31 13:20:00)
摘要:
学好英语的42个经典要诀
第一要诀:收听英语气象报告 有些教学录音带为配合初学者的学习,故意放慢语速,这对英语听力的训练是不够的。如果听语速正常的英语,初学者又会感到力不从心。英语气象报告的速度虽快,但词汇简单固定,内容单纯,重复的可能性大,而且在生活中随时都可以印证,是听力入门的好教材。 第二要诀:收听中国国际广播电台的英语广播 中国国际广播电台(China Radio International)每天早上7:00--8:00,中午11:00--12:00各有一小时的英语节目。内容包括国内外新闻,剪报集锦和各类系列的专题报道。除了英语标准流利的国内播音员担任广播之外,也有向外侨或访客就某一话题而做的录音访问。内容广泛,但词汇较简单,语速亦适中,可以藉此训练或增进英语的听力。 第三要诀:善用录音带锻炼听说能力 有些学习者总是习惯于一边看书一边听磁带,把磁带当成阅读的辅助工具,这样打不到锻炼听力的目的。录音带应该是以听说能力的训练为主。学习者要选用与自己能力相适应的听力磁带,不要急于求成,以免产生受挫心理。先反复聆听磁带内容,起先只要抓住梗概,多听几次后,对细节的了解便越来越多。听力较差的人,可先阅读课文,然后再集中精力领会每段每句的意思。这样练习有助于培养倾听时注意力的集中,使您的听力迅速进步。 第四要诀:听正常语速的英语,才能加速听力的进步 很多广播教学和听力教材总是为了配合听众或学习者的程度而故意放慢语速,这虽是无可厚非的变通方法,但也会产生一些不良的副作用。例如:1.听惯了语速放慢的英语,在与外国人的实际交往中,就很难适应,甚至听不懂他们用正常语速讲的英语。2.故意放慢语速时,通常会把一句中每个词都清楚的读出来,但在正常的会话中会出现很多同化(assimilation),减弱(reduction),连音(liaision)的现象。所以,听语速正常的英语对于听力和会话极为重要。 第五要诀:从电视,电影中学习英语 看英文电视,电影不仅能了解西方人的文化和生活,而且也是学习地道英语和提高英语听力的好机会。选取的影片最好是以现代生活为背景的文艺片或喜剧片。如果您的听力不错,要养成不看字幕的习惯。程度稍差的就不要勉强自己,否则英语没学成反倒破坏了欣赏电影的......
我的一点自学心得(2006-10-31 13:18:00)
摘要:
我的一点学习心得[强烈推荐给新手](转)
我的一点自学心得[转帖](强烈推荐给新手)
在网上常看到朋友问很多有关于数学学习的问题,有数学系的,也有纯自学的,许多问题我都亲身经历过。在这里就简单说一下我的个人经验,希望对大家有一定的借鉴作用。如果你智商非常高或者成绩非常好的话,可能本文不太适合你,因为本文作者智商一般,成绩也很差,应该不会想到你们想不到的东西首先,选择学数学,那说明这个人还是比较聪明的,至少他应该知道如何利用自己的智商,这点很重要。学习最重要的是要量力而行。掂量一下自己的分量再说。不止一次看到朋友说自己爱学微分几何拓扑什么的,但是作为基础的一些科目,掌握的却不甚好,这样就说明大家有盲目追前的弊端,其实我个人也有这个毛病的。后来遇到了一些事,才开始意识到自己的不足。建议大家读读华罗庚的书,个人觉得对人有极大好处,一点也不是夸的,他的学术水平暂且不提,单就作学问的哲理,第一流的。说白了。就是八个字:本固枝繁,根深叶茂。我个人看过许多传记类的书,现在不爱看了。我相信很多朋友受它的影响很大的,总觉得应该像天才一样思考,要学习的多么多么的快,当然也有迫于一些外界因素必须要赶紧学习的。我个人的建议是:脚踏实地,学一点是一点,盲目的超前只能使你一事无成,自毁前途,一点不是吓唬人,我遇到的这样的人多了。学习要稳稳的,端正自己的态度,不要看那些天才,也不要看身边的什么什么人。不要搞革命英雄主义,成天想着:他能作到的我一定要作到。多想想为什么他能作到一件我作不到的而我做不到一件他做不到的。学数学重在个人见地,不在于硬和人家拼强项。端正了学习的态度(之所以第一个提它,主要是因为不光学数学,做任何学问都是如此)。然后就要问问自己:为啥学数学??你了解数学吗??对两类人自学的:我接触的这些朋友比较多。每个人都说自己对数学多么的狂热。俺说句心理话,我就看不出来数学这枯燥的东西对人能有多大的魅力。很多人我感觉是受一些外在的因素的影响:比如学数学会使人很高深等等的。尤其是最近的风气也是对数学有利。所以迎风上。可能我的话有点尖刻。但事实就是如此!很多人对数学缺乏一些常识性的了解,仅仅看了几篇描写大师的作品,就声称自己爱数学,是很让人痛心的,学数学,比娶个老婆还更......
大学生如何为加盟Google做准备(2006-10-31 13:06:00)
摘要:大学生如何为加盟Google做准备 厚积薄发,有的放矢李开复博士给中国计算机系大学生的建议很多在校的大学同学问我们:“我今年还没有到毕业班,但我很想知道,如果将来想申请Google中国工程研究院,现在应该如何让自己做好准备?”下面是Google中国总裁李开复博士和其他一些Google资深的华人工程师给广大同学的建议。(1)练内功。不要只花功夫学习各种流行的编程语言和工具,以及一些公司招聘广告上要求的科目。要把数据结构、算法、数据库、操作系统原理、计算机体系结构、计算机网络,离散数学等基础课程学好。不妨试试Donald Knuth的Art of Computer Programming里的题目,如果你能够解决其中的大部分题目,就说明你在算法方面的功力不错了。 (2)多实战。通过编程的实战积累经验、内化知识。建议大家争取在大学四年中积累编写十万行代码的经验。(3)求实干。不要轻视任何的实际工作,比如一些看似简单的编码或测试。要不懈追求对细节一丝不苟的实干作风与职业精神。(4)不放弃数学。数学是思维的体操,数学无处不在。尤其当你对一些“数学密集型”的领域有兴趣,例如视频、图像处理等等,你需要使它成为你的利器。(5)培养团队精神,学会与人合作。(6)激励创新意识,不为书本和权威意见所束缚。(7)有策略地“打工”。在不影响学业的前提下,寻找真正有意义的暑期工作或兼职。去找一个重视技术的公司,在一个好的“老板”指导下完成真正会被用户使用的程序。不要急于去一个要你做“头”而独挡一面的地方,因为向别人学习,是你的目的。打工和找工作一样,“不要只看待遇和职衔,要挑一个你能够学习的环境,一个愿意培养员工的企业,一个重视你的专业的公司,最后,要挑一个好老板。”......
