博文
牛人从达内中国移动到百度、IBM的一点感受(2007-10-15 14:49:00)
摘要:胡金培 男 25岁
对外经贸大学 电子商务 大专
SD0410班
培训前情况:
无工作经验
培训后情况:
现工作于IBM,月薪8000元
就业公司介绍:
IBM,全球最大的信息技术公司,世界一流的软件公司
从达内>中国移动(梦网运营中心)>百度>IBM的一点感受......
恩,已经接近深夜了。最近一直在加班没有时间来写些东西。不过还好10.1的快到了。项目也快接近尾声。我现在在这里主要做的工作是ORACLE DBA。2年前我参加了达内的外企软件工程班主修JAVA/C++。那个时候我23岁,实话讲在参加培训前,我接触过一些ORACLE+UNIX的东西,但是没有工作经验。和大家一样也是预习了3个月才来培训。那个时候的达内好象还没有现在那么壮大。不过还是为达内的快速发展感到由衷的高兴。和大家说说我的经历吧。其实以前我也写过一写经验相关的东西。但是这次主要是针对工作,同时也是对我工作一年以来的经历做个小小的简短的总结吧:)呵呵。
在达内学习的是5个月,应该是我这一生中记忆最为深刻逸事之一。坐在第二排的过道右手边第一个位置上的感觉,到现在还在脑中浮现,那种感觉挥之不去,每当路过中鼎,内心顿时萌生了一种抑扬的忧伤的回忆。真的那个时候的感觉可以说真的是痛并快乐的!真的非常苦,也非常累。实话讲在培训期间,我没有过2点睡过觉的....当然我所在的寝室的学习气氛也很不错,其实针对培训的学习方法,我认为千言万语一句话:多看书,多动手。我想论坛的很多朋友已经讲很多了,我就不细说了,不过我还是要在这里特别谢谢张健,刘新福老师的指导!我想这两位好老师给达内打出了不少牌子。
毕业后,由于是学软件开发,没有做项目就去冲动地找工作了,记得面试的第一份工作是坐落在西直门(还离我家真远)的KONGZHONG(空中网)。笔试都过了,但是谈的时候那个技术人员显然看出我没有工作经验,本来谈好的第二次预约也就再也没有联系我。呵呵。不过接踵而来的有了很多的面试机会。很巧就获得了移动-卓望的面试机会。我以优越的表现赢得了很多考官的赞扬。同时比空中网好的地方在于,他们能根据你面试的过程来给你一个准确的评价,这对于我来说非常有意义。当......
Linux c&c++编译器(2007-10-14 00:53:00)
摘要:介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 2.将预处理后的文件不转换成汇编语言,生成文件.s 3.有汇编变为目标代码(机器代码)生成.o的文件 4.连接目标代码,生成可执行程序 [参数详解] -x language filename 设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根 据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,如果 你很个性,决定你的C代码文件的后缀名是.pig 哈哈,那你就要用这 个参数,这个参数对他后面的文件名都起作用,除非到了下一个参数 的使用。 可以使用的参数吗有下面的这些 `c', `objective-c', `c-header', `c++', `cpp-output', `assembler', and `assembler-with-cpp'. &......
如何使用gcc编译器?(2007-10-13 23:53:00)
摘要:摘要:
要想读懂本文,你需要对C语言有基本的了解,本文将介绍如何使用gcc编译器。首先,我们介绍如何在命令行方式下使用编译器编译简单的C源代码。然后,我们简要介绍一下编译器究竟作了那些工作,以及如何控制编译过程。我们也简要介绍了调试器的使用方法。
GCC rules
你能想象使用封闭源代码的私有编译器编译自由软件吗?你怎么知道编译器在你的可执行文件中加入了什么?可能会加入各种后门和木马。Ken Thompson是一个著名的黑客,他编写了一个编译器,当编译器编译自己时,就在'login'程序中留下后门和永久的木马。请到 这里 阅读他对这个杰作的描述。幸运的是,我们有了gcc。当你进行 configure; make; make install 时, gcc在幕后做了很多繁重的工作。如何才能让gcc为我们工作呢?我们将开始编写一个纸牌游戏,不过我们只是为了演示编译器的功能,所以尽可能地精简了代码。我们将从头开始一步一步地做,以便理解编译过程,了解为了制作可执行文件需要做些什么,按什么顺序做。我们将看看如何编译C程序,以及如何使用编译选项让gcc按照我们的要求工作。步骤(以及所用工具)如下: 预编译 (gcc -E), 编译 (gcc), 汇编 (as),和 连接 (ld)。
开始...
首先,我们应该知道如何调用编译器。实际上,这很简单。我们将从那个著名的第一个C程序开始。(各位老前辈,请原谅我)。
#include <stdio.h>
int main()
{
printf("Hello World!\n");
}
把这个文件保存为 game.c。 你可以在命令行下编译它: gcc game.c
在默认情况下,C编译器将生成一个名为 a.out 的可执行文件。你可以键入如下命令运行它: a.out
Hello World
每一次编译程序时,新的 a.out 将覆盖原来的程序。你无法知道是哪个程序创建了 a.out。我们可以通过使用 -o 编译选项,告诉 gcc我们想把可执行文件叫什么名字。我们将把这个程序叫做 game,我们可以使用任何名字,因为C没有Java那样的命名限制。 gcc -o game game.c
game
Hello W......
数学能力对于编程工作者有很大影响(2007-09-08 18:24:00)
摘要:可能有很多朋友在网上看过google公司早几年的招聘广告,它的第一题如下了:{first 10-digit prime found in consecutive digits e}.com,e中出现的连续的第一个10个数字组成的质数。据说当时这个试题在美国很多地铁的出站口都有大幅广告,只要正确解答了这道题,在浏览器的地址栏中输入这个答案,就可以进入下一轮的测试,整个测试过程如同一个数学迷宫,直到你成为google的一员。 又如Intel某年的一道面试题目:巴拿赫病故于1945年8月31日。他的出生年份恰好是他在世时某年年龄的平方,问:他是哪年出生的?这道看似很简单的数学问题,你能不能能快地解答呢? 下面则是一道世界第一大软件公司微软的招聘测试题:中间只隔一个数字的两个素数被称为素数对,比如5和7,17和19,证明素数对之间的数字总能被6整除(假设这两个素数都大于6),现在证明没有由三个素数组成的素数对。这样的试题还有很多很多,这些题目乍初看上去都是一些数学问题。但是世界上一些著名的公司都把它们用于招聘测试,可见它们对新员工数学基础的重视。数学试题与应用程序试题是许多大型软件公司面试中指向性最明显的一类试题,这些试题就是考察应聘者的数学能力与计算机能力。 某咨询公司的一名高级顾问曾说:微软是一家电脑软件公司,当然要求其员工有一定的计算机和数学能力,面试中自然就会考察这类能力。微软的面试题目就考察了应聘人员对基础知识的掌握程度、对基础知识的应用能力,甚至暗含了对计算机基本原理的考察。所以,这样的面试题目的确很“毒辣”,足以筛选到合适的人。 四川大学数学学院的曹广福教授曾说过:“一个大学生将来的作为与他的数学修养有很大的关系”。大学计算机专业学生都有感触,计算机专业课程中最难的几门课程莫过于离散数学、编译原理、数据结构,当然像组合数学、密码学、计算机图形学等课程也令许多人学起来相当吃力,很多自认为数据库学得很好的学生在范式、函数依赖、传递依赖等数学性比较强的概念面前感到力不从心,这些都是因为数学基础或者说数学知识的缺乏所造成的。 数学是计算机的基础,这也是为什么考计算机专业研究生数学都采用最难试题(数学一)的原因,当然这也能促使一些新的交叉学科如数学与应用软件、信息与计算科学专业等飞速发展。许多天才程序员本身就是数学尖子,众所周知, BillGates......
程序员的十种级别(2007-05-13 00:29:00)
摘要:第一级:神人,天资过人而又是技术狂热者同时还拥有过人的商业头脑,高瞻远瞩,技术过人,大器也。如丁磊,求伯君。 第二级:高人,有天赋,技术过人但没有过人的商业头脑,通常此类人不是顶尖黑客就是技术总监之流。 第三级:牛人,技术精湛,熟悉行业知识,敢于创新,有自己的公司和软件产品。 第四级:工头,技术精湛,有领导团队的能力,此类人大公司项目经理居多。 第五级:技术工人,技术精湛,熟悉行业知识但领导能力欠加,此类人大多为系分人员或资深程序员,基本上桀骜不逊,自视清高,不愿于一般技术人员为伍,在论坛上基本以高手面目出现。 第六级:熟练工人,技术有广度无深度,喜欢钻研但浅尝辄止。此类人大多为老程序员,其中一部分喜欢利用工具去查找网上有漏洞的服务器,干点坏事以获取成绩感。如果心情好,在论坛上他们会回答菜鸟的大部分问题。此级别为软件业苦力的重要组成部分。 第七级:工人,某些技术较熟练但缺乏深度和广度,此类人大多为程序员级别,经常在论坛上提问偶尔也回答菜鸟的问题。为软件产业苦力的主要组成部分。 第八级:菜鸟,入门时间不长,在论坛上会反复提问很初级的问题,有一种唐僧的精神。虽然招人烦但基本很可爱。只要认真钻研,一两年后就能升级到上一层。 第九级:大忽悠,利用中国教育的弊病,顶着一顶高学历的帽子,在小公司里混个软件部经理,设计不行,代码不行,只会胡乱支配下属,拍领导马屁,在领导面前胡吹海侃,把自己打扮成技术高手的模样。把勾心斗角的办公室文化引入技术部门,实在龌龊! 第十级:驴或傻X,会写SELECT语句就说自己精通ORALCE,连寄存器有几种都不知道就说自己懂汇编,建议全部送到日本当IT产业工人,挣了日本人的钱还严重打击日本的软件业! 其中又以前两级和后两级最为难得,其余级别只要努力,皆有可能达到。 ......
30岁开始实现我的程序员梦[摘](2007-05-13 00:28:00)
摘要:30岁,开始实现我的程序员梦,从一个编程爱好者,从一个业余的程序员,一个水平不高的程序员,一个半道出家的程序员......
我的经历到这里就告一段落了,五年里跳了五次槽,不知道和大家比算不算多,没有什么太多起伏,但我想很多朋友可能会和我有类似的经历,不知道能不能引起你们的共鸣。我想对我上面所说的话给一个总结:
1. 如果你觉得自己应该追求什么,不管遇到什么困难千万不要放弃,一定要坚持下去。
2. 不要因为自己年轻就找理由挥霍时间,少玩一点SC、CS、魔兽3、传奇、魔力或者…….,多看点书,多练练题。
3. 如果你还是在校的学生,英语很差,专业课也很差。没关系,想怎么学计算机就怎么学计算机吧。其它地只要能混到毕业证就行了。除非你对自己的未来没有信心。(当然,如果你的理想不仅仅是要做一个程序员,那你别丢掉英语。)
4. 如果你不是科班出身,想要转行而不知该怎么开始的话,建议你先看两类书:(1)计算机原理;(2)数据结构和算法。(看数据结构之前先看C语言)。
5. 什么时候努力都不晚,关键是你明白要努力了,大器晚成总比一事无成要好的多。
6. Java、.net、C++、PB、VB、Delphi、汇编到底应该学哪个?我的经验,哪个最简单就先学哪个、公司用哪个你就学哪个、哪个和你有缘(比如刚好你认识一个愿意帮助你的Delphi高手)你就学哪个,如果你都学,或者三天两头的换,我可以告诉你结果肯定是什么都不会,不要心浮气燥,他们都只是工具,学精一门其它的就相通了,重要的是掌握编程的思想。如果你问我面向对象(好像现在已经是面向需求了)、UML、WebLogic、WebService、软件工程、XML…….应该怎么学呀,对不起,这些我也确实不是都会,但请相信,你先实实在在的写上十万行以上的代码以后,那些东西你自然就慢慢会了。
7. 不要以为程序员的工资都很高,程序员之间的水平差异也大。公司衡量一个人的待遇标准是他能给公司带来多大的效益。如果你体现了自己的价值,公司会主动给你加薪的,当然你也可以自己主动提,但一定要在你表现出了自己的价值之后。
8. 轻易不要跳槽,如果非要跳,也要保持工作经验上的延续,而不是从新开始,不然就会象我一样走很多弯路。
9. 如果你以为程序员都是熬夜熬出来的,那么你错了,因为它的代价就是......
程序人生(2007-05-13 00:23:00)
摘要:
程序人生作者:刘韧创业者和经理人之外,中关村或者说中国计算机业界还活跃着另一类人,他们过着另外一种人生——程序人生。程序是这些人生活的全部重心,他们有天分,爱编程,能吃苦,甘于寂寞。他们当中绝大多数不被人所知,像WPS求伯君、KV300王江民、CCDOS严援朝、五笔字型王永民、2.13吴晓军、四通利方王志东、CCED朱崇君、UCDOS鲍岳桥这些成名的程序员十几年来也只才产生了十来位。有才华的程序员绝不只这些,但他们没有机会。有时候,他们觉得机会就在眼前,伸手可及,但当他们扑上去将要和机会撞个满怀的时候,却每每扑了个空。在苦干了若干年之后的某一天早晨,从睡梦中醒来,他们突然发现自己除了编程能力提高之外,什么都没有改变,所写的程序是“职务作品”,所挣的工资仅能“糊口”,他们会突然感到写什么程序都没有意思。但如果不写程序,又能去做什么呢? 程序人生是智慧的人生,但我们也想描述一下这些智者心底的酸甜苦辣以及困惑不平棗自己写出的产品为公司挣了1个亿,为什么自己还是不名一文?技术入股到底是除了智慧什么都没有的程序员的出路?还是陷阱?优秀程序员成名之后,想名利双收,是不是必须不写程序,去做管理?都说个人英雄的时代已经成为过去,那么,新一代程序员还可以做笑傲江湖的英雄梦吗?…… 王江民用他的传奇告诉后来者还有机会。王江民初中毕业,38岁才开始学习计算机,两三年之内成为中国最出色的反病毒专家之一;45岁只身一人独闯中关村办公司,产品很快占据反病毒市场的80%以上;没学过市场营销,却使KV系列反病毒软件正版用户接近100万,创中国正版软件销售量之最。都说个人英雄的时代已经成为过去,都说中关村不再相信传奇,传奇已为资本运营所代替,但王江民的传奇就发生在现在,就发生在我们身边,而且还在继续。无论这个时代多么地依赖和提倡集体协作,但个性的张扬永远不会泯灭,永远值得击节叫好,人格的魅力也永远让人激动不已,因为它代表着个人存在的价值和意义。个人也许就是为了突破各种不可能,实现各种不可思议而存在的。充盈着理想和力量的人在受到挫折的时候,可能会叹息自己身上的力量是“无能的力量”,但当每日的朝阳再次照耀在他们身上的时候,他们会再一次地被发动起来。如果说,创业者和经理人体现的是雄才伟略,那么,程序员体现的则是一种激情,这种激情有可能会在真实的现实面前被击得......
计算机专业生应该学什么[摘](2007-02-05 00:28:00)
摘要:
ispexceed 发表于 2006-6-8 1:15:35
计算机专业生应该学什么
收到一封mail,是一个计算机系大三学生写来的,想听听我的建议,面临将要毕业的关口,应该学点什么才能对将来有用。随后又有不少朋友通过mail,im等等方式询问我对这个问题的看法。想必是上次csdn视频聊天的节目引起了不少朋友的思考。
我本来不是计算机专业出身,也并非大师之类的人物,本来不敢好为人师。不过,既然作了这个行业,也算有点心得,被问到,也就说点心得和建议,对与不对,各位看官指教。盖个体情况差距极大,本文是个人观点,也就姑且一听,有用则用,当然,这世上怕也没有所谓万全之策的。
1 你是否真的喜欢计算机
我是真的喜欢的。如果让我选择发了大财做什么,我仍然继续玩计算机,只不过可以更自由自在的玩喜欢的东西。如果你也喜欢,喜欢学新的东西,喜欢复杂而精巧的设计,喜欢工程之美,那就适合走技术道路。如果不是这样,这条路比较辛苦,还请三思。其实产业里相关的领域也大有可为,比如说写技术相关的趋势作者,鲜有优秀的。目前除了互联网周刊的陈琼同学,我还没看到给商业媒体写技术相关的写手有几个写的好的,甚至往往都有致命的本质错误。诸如此类的周边领域很多,都有不错的机会,不一一列举。
2 假如1你回答的是喜欢,那么
你需要学习很多东西。我认为不可缺少的东西包括:
* 基础理论* 算法* C语言* C++或java,如果精通C,可以舍弃C++,学java* unix* 正则表达式* 任何一种脚本语言(目前推荐python)
依次讲解为什么这么说
* 基础理论和算法20年来,应用层面急速发展,令人眼花撩乱,而实际上,大幕之后的东西,从1972年C和unix诞生以来就没有过本质的变化。在操作系统,数据库理论,编译原理,信息管理系统理论之类,都是*相对*静止的。虽然其中有类似于微内核还是整体内核之类的理论之争,但是几乎不影响格局,大可以放心去学。学这些东西唯一的问题是理论枯燥,最好是结合实践,做一些应用,学一些理论,张弛有度,这样总能保证好奇心旺盛。
学这些东西的目的是为了真正的了解计算机。不真正了解一个东西,很难举一反三,很难作到融汇贯通。其实高校教的这些东西都极有价值,只不过是在缺乏实践的基础上填鸭,效果往往变成了应付考试。
* C语言我对C语言的认识如......
学数据结构方法[摘](2007-02-05 00:26:00)
摘要:
北京大学信息科学技术学院
04级计算机2班
00448245 柳明海
1. 前言
首先感谢张老师给我这样一个机会, 来和大家分享学习数据结构的经验。
2. 学习方法。
因为要准备这个话题, 所以我认真的思考了我的学习方法, 但是我觉得基本上我就是上课前看看书、上课时认真听课、 下课以后复习复习、当然还有做作业时很认真的去做。根本谈不上什么好方法, 不过我还是有一些话要送给大家。
我能行!
个人觉得这句话非常重要,不知道大家是怎样看待数据结构这门课的, 有多少人觉得数据结构很难呢?我知道还是有一些同学这样觉得的, 有时候我跟我的朋友讲要怎样学,讲了一大堆以后, 他就向我抱怨:我以前c++都没有学好, 数据结构更学不好了, 这哪跟哪的话啊,数据结构与c++没有什么关系,我想假如抱有这样的心态, 自己就不相信自己, 那是不可能学好的, 然后那些觉得数据结构很难的同学, 我想他们应该会很看重数据结构的吧, 然后就一天到晚捧着一本数据结构, 这样不会觉得很累吗?而且因为觉得很难, 就容易不相信自己, 学的效率也不会很好, 个人认为数据结构很好学, 很容易学, 或许这有点妄自菲薄吧, 但是因为我觉得很容易, 当然就会觉得自己没问题, 学得很轻松, 效果也还可以。大家都是从高考走过来的, 应该知道心态的重要性吧, 两种不同的心态, 完全就是两种不同的效果。 学了这么久数据结构了, 我们到底在学些什么呢? 不知道大家有没有想过, 那现在我们现在来归纳一下我们学习的内容吧, 其实学到现在我们也就学了几种普通的数据结构, 象二叉树, 树, 图,还有排序的问题, 前面的线性表和字符串也就是一些概念, 当然还有一个很重要的KMP算法, 然后在每种数据结构中我们也就是学到了若干处理的算法, 我想真正数起来也就是几十个算法吧。 学习数据结构也就是要掌握这几十种算法, 多简单。至于如何掌握每个算法呢, 我想就是多看看书, 重要的是能够理解。
我能独自完成作业!
这里我的定义和张老师的不同, 张老师是鼓励大家讨论的, 不过我发现还是有一些同学就是先问好别人算法,然后再自己写, 虽然这个不算抄袭作业, 但自己基本上没......
《系统化思维导论》摘录(2007-01-16 21:43:00)
摘要:
《系统化思维导论》摘录内容精简编辑: Huiwen Ru 先把要学的看成一个黑箱,它的内部结构是什么先不去管,而是搞清楚它的输入输出是什么?具体说就是学习这门课程需要哪方面的技巧和预备知识,以及这门课的目的是什么?学了它能解决什么样的问题?把这些问题基本搞清楚了以后再尝试打开这个黑箱。打开黑箱的方法也不是一步完成的,而是一种灰色的认识反复迭代的过程,让黑箱一点一点的由黑变灰由灰变白。也就是第一次不求搞懂里面所有的内容而是有一个大致了解,接下来再展开下一步迭代,这时候可以根据第一步所掌握的信息有选择的较详细的了解黑箱的内容,这样反复循环直到你能大致掌握这门学科为止。 什么叫大致掌握这门学科?如果我们把一门学科比喻成一棵树,那么只要你能明确的指出这棵树的主干脉络是什么就叫大致掌握了。而至于这棵树的树叶你可能一点也不知道,那也没关系。传统的学习方法之所以无聊并且没效率是因为老师们一下子就让你从掌握这棵树的枝叶开始而不注重主干的把握。 在这个过程中可能会遇到各种各样的困难。首先一个困难可能是由于这门课程需要一些预备基础知识,而你并没有掌握它们你可以先跳过它,不去理会,把预备知识看成黑箱,直接掌握现在的学科。也有可能预备知识一点没有的话整个过程就进行不下去了,这个时候再去用同样的方法掌握预备知识还有一个困难可能是在你学习的过程中有一个环节想不明白,这时候你可以选择先跳过,如果发现跳过这个环节无论如何不能理解后面的东西了,那你不得不花费经历去搞懂它了。这个时候需要的是毅力和想象力,没有毅力,你遇到困难后就不会再去思考,没有想象力,你就很难在自己的大胆猜想和横向对比中解决这个问题另外一个可能遇到的困难是可能前面学过的东西记不住因为你学习的过程不是一次,而是反复好几次,所以一遍记不住的东西还有后面几遍,慢慢的就会记住了。 再一个要强调的是思考与学习应该相结合不能总是捧着书本看,要在积累到一定程度以后放下书本思考思考,想想都已经学到了什么东西?所学的东西与其他东西是什么关系?运用了灰色系统的方法,能让你一下子就从宏观入手掌握全局,同时可以根据需要动态的掌握具体的细节知识。 第一步把微积分看成一个黑箱,不管它讲什么呢,先看看它需要一些什么预备知识,以及用它能解决什么样的问题。如果没有好老师指导,要获得这样的信息唯一的方法是先大致翻一下教科书。先看目录和前言,......
