阅读的总结

阅读文章总结
主题
-计算机毕业生应该具备的能力
-大牛给计算机毕业生的7个建议
-操作系统是如何改变我的
-心机婊
-暗藏杀机的选择题

一.计算机毕业生应该具备的能力

ACM委员会对比毕业生该具有的能力可以总结为三个部分:
1.对整个计算机体系的理解:你该知道整个计算机体系由上至下的各个层次是什么,每个层次之间的联系,关系,差别,建立起来一个完整的计算机体系。
2.计算机的应用:你需要熟悉技术层面的知识,你需要有动手解决问题的能力,你需要有一定的项目经验,能够将所学的知识灵活运用到实际的项目中。
3.计算机行业的职业素养:具备终身学习能力,承担该承担的责任,培养自己专业的沟通组织能力,对特定领域具备鉴赏能力。
从总体的文章上看下来,每一个点都说的很有道理,我会思考,那么我该如何用最后一年去尽量接近这个要求呢?
首先,从现在的专业课做起,你要知道自己为什么要学习这门专业课,你要知道这门专业课对于你学习整个计算机体系的作用,甚至对于一些硬件课,你要思考,当我在打下这一行代码的时候,整个计算机是怎么运行的,你要对知识深入,你要让自己”轴“一点,我认为大多数成功的人都有一种固执感,固执于去钻研自己的专业,学问,知其然知其所以然,这是很重要的。
其次,在今年的项目经验里,要去对整个项目进行分析把握,你要知道怎么去统筹规划一个项目,你要懂得和人沟通,承担起相关的责任,并且在每个项目中,都和自己的专业知识联系起来:为什么我的float会溢出,到底是底层硬件发生了什么,如何让整个程序跑的更快等。

二.大牛给计算机毕业生的7个建议

作者强调的“软实力“分为:
1.对于计算机专业技能的练习:你需要有大量的编程实现,学会书写自己的项目文档。
2.对课外知识的扩展:连接经济学基础,选秀有趣的非计算机专业的课程,找到暑假实习

总体来说,作者的建议对于计算机学生的专业素养的培养,是十分中肯的,我们在日程的开发和学习中,应该学习作者的一项技能:为什么我要做这件事情。
从作者的大学生活看上去,他并不是一个很功利性学习的人,他不仅仅学习到编程,他还了解到了专业之外的东西,当然,他对计算机的行业也是有自己专业的看法的,但是他还涉及到了微观经济学,以及编程意外的东西,是的,我的观点和作者是相似的,我认为技术要能转化为创造财富,你要知道该项技术能对你的生活起到什么样的作用,你要知道该技术能怎么投入到市场中,如果人们只是发现技术的便利性,而不将其用于商业的竞争的话,技术会停滞不前,就像AMD和NVIDIA,两个公司我认为正是因为相互竞争,而不断摩擦碰撞出新的火花,这是十分伟大的,技术的魅力也正是在这里。
其次作者提到了实践的重要性,是的,实践的重要性对于计算机专业的学生来说必不可少,这是一个需要动手解决问题的行业,我也希望暑假能有机会去体验一下大公司的实习,看看真正的开发是什么样子的。
最后我想说的是练习,练习,练习。就像作者所说,我们是计算机科学专业的学生,学校只会花大量的时间教会你实现循环语句的写法,这需要我们自己在课下花加倍的时间去学习,深入我们感兴趣的方向,要学会主动的学习,主动的探索知识,从热爱这一门专业,到熟练他,最后再投入热爱中去。

三.操作系统是如何改变我的总结
作者在对操作系统学习过程中,将学会了调试放在一个最重要的部分重点介绍,可见其对整个程序的重要性,在我日常写代码时,也是和作者之前一样,用肉眼去一行一行扫描我的代码本身,而不是完全的按照调试方法,我将这个列入学习名单,并将在之后的minic编译器中使用和熟练。
其次作者提到了操作系统课程带给他大量的代码量和对于底层效率提高的思考,在之前写代码只在意是否完成,而不是去思考如何让这个程序跑的更快,将硬件软件结合在一起思考如何高效编程。
其次,在项目团队的组建过程中要尽量选择积极向上的同伴,相互鼓励,相互促进,对于整个项目的完整性十分重要,在写程序之前要对整个程序进行分析把控,安排合理,才能有序高效完成任务!
但是回顾现实中的情景,不得不扼腕叹息:不是每一个同学都和你一样具有足够的开发热情。这其实也就是说,我们需要开辟自己的社交圈,技术圈子,尽量的和积极向上的人一起工作,开发,相互促进,相互提高,这是十分重要的,也是我今后要学习的。
其次,本篇文章提到的对整个计算机系统层次的理解这一点也是十分重要的,硬件如何和软件结合,硬件通过调用怎么样的过程实现,操作系统在其间的作用,这都是需要我们进一步去思考的,汇编语言到底是什么,学习了有什么用?
我打算带着作者的观点去进一步在我的项目中去探索深入,希望有机会可以继续分享观点。

四.心机婊!一道单选题需要考查这么多知识吗?

从题目的形式上看,这是一道数据结构中考察时间复杂度的“基础题”,但是,看完整篇文章:它并不基础。
首先,你要理解原理:
1.计算机的位数表示受硬件限制,会导致程序无法正常运行而停止。
2. 计算机硬件四如何实现while循环的
3.f(x)函数的实际调用情况如何
4.计算机硬件对于递归的实现
5.题干中提出的应用场合的思考:什么叫做主流配置的pc
这道题目看上去简单,但是仔细去思考却发现完全没有头绪,这道题目可能在考试的时候,真的没有时间去思考的那么细致,毕竟时间真的只有那么几小时,还是决定了你是非能够进入名企的重大考试,所以,我会觉得,这道题适合在课下进行思考,那么,考试的时候该怎么去思考呢?
首先,一般来说,这是一个一直在循环递归的过程,那么我们知道递归栈在不停循环的过程中,很有可能会溢出,程序会自动结束,从猜题的角度上看的话,其实只需要考虑这么几个角度,答案设置分为三档,第一:很快结束,第二:一会儿结束,第三:很久以后才结束,答案很明显只会出现在第一和三种情况中,再加上在目前的主流的PC配置上,我的生命里暂时没有出现过,可以死循环几小时不结束的小递归,所以综上,我会猜a。
但是毕竟不是每一次我都能那么幸运的猜对,那么这篇文章分析了什么呢?
你要理解数据结构的相关知识,其次,你需要知道计算机内部,cpu内对于你的递归和循环到底做了什么,最后你要知道,什么叫做主流的pc。
这一道题更加适合作为大题来让人分析,更能考察一个人对于计算机体系的全体理解,但是我觉得,面试官把这样的一道题作为一个选择题的目的肯定不是在于让你去细致的分析,我认为面对问题,大胆的去猜测,可能也是一个技术人员很重要的能力之一,如果在面对一个小问题的时候,你花费了大量的时间去研究整个系统的各个细节,那这个公司可能,早就被日新月异的计算机行业给淘汰了,有时候不拘小节,可以提高效率,但是,在解决问题了之后,我们一定要回过头去问自己,为什么?
这也是我之前文章提到的观点,当前的问题解决了,那么下次怎么办呢?所以我认为,在面对问题的时候,在重要紧急的关头,不如放胆的去一猜,在解决问题之后,我们不妨,细细琢磨琢磨,到底是为什么,就像这道选择题,要真在阿里巴巴面试中思考上一小时,真的很有可能挂掉。。。

                五.暗藏杀机的选择题
对于人眼无法观察出来的结果,我们经常使用的一种方法,即是将其转化为代码去实现,笔者也是这样的,从代码运行的角度去思考结果是如何的。
但是,真的很难看懂,特别是汇编语言的实现那个部分,最厉害的点在于,对于代码分析的过程中,笔者居然考虑到:“static变量的访问速度要远远慢于普通的变量”,这种角度,真的很令人敬佩,其次在于对多线程程序的理解,我猜测这一部分的知识是属于操作系统的知识,所以看不太懂,多线程程序刷回内存之类的,其次看不懂的点在于,函数优化调用方式时间的那一块,为什么优化方式不同,占用的栈大小不同。
在选择题(一)文章中,作者基于栈大小为2M为分界进行的分类讨论,得到分析结果和实际运行结构相差一个数量级的结论,这一点对于汇编语言的掌握,整个计算机系统组成的理解,都是十分深刻的,将软件硬件各个阶层融会贯通进行讨论,在编写代码的同时,大脑里也映射出来了整个计算机要如何调用内存,这一点没有对整个计算机体系的理解是难以做到的,令人敬佩。
选择题(二)文章中,主要探讨的问题是:为什么内存明明够用,但是进程还是会被杀死,原因为以下两点,第一,当空闲内存存在大量碎片或者没有空闲内存时,调用kswapd(kernel swap out daemon 内核页面置换守护进程),在kswapd中执行循环,在进行完out_of_memory()函数判断之后,则选择一个进程杀死,并且释放其所占用的内存空间,该部分的难点在于,对Linux内核的源代码的理解,这其实也提示我们在日常学习中要注意积累对于源代码的理解,并且具备阅读源代码的能力。
选择题(三)文章,进一步的对oom_kill(),select_bad_process()两个函数的源码的解释,最终得到的进程被杀死的原因在于:被测试进程在运行到占用虚拟内存14G,RSS 12G的时候,检测到:空闲页面数量<=规定的空闲页最小数量。且空闲页面数+不活跃的未修改过的页面数量<=规定的空闲页数量的低界限值,没有足够的交换空间三个条件同时满足,调用oom_kill()函数,该函数总的策略是选择占用内存空间大、运行时间长的进程作为被杀死进程,结果是被测进程中奖,成功被选为被杀死进程。内核代码的printk(KERN_ERR "Out of Memory: Killed process %d(%s).\n", p->pid, p->comm);与显示的输出信息一致。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值