入职学习(1)--一个程序员的成长史(21)

简介: 看到邹总发的邮件之后,唐师傅马上在公司的内部即时通讯工具zQQ上给代是雄发了一个消息,问他对于计算机的基础知识掌握得怎样。

看到邹总发的邮件之后,唐师傅马上在公司的内部即时通讯工具zQQ上给代是雄发了一个消息,问他对于计算机的基础知识掌握得怎样。zQQ是Z公司开发的一个类似于QQ这样的专门用于内部沟通的工具,最开始的时候,代是雄觉得有点奇怪:为什么公司不直接让员工用QQ进行沟通呢?后来,代是雄才了解到,公司这样做的目的是为了“信息安全”。在我大天朝的很多软件公司里有着种种奇葩的规定,不准员工在工作电脑上安装QQ、微信、微博等即时通讯工具便是其中一项。之所以有此规定,是因为公司怕员工在上班的时候将程序代码、设计文档、专利等发送出去了,从而对公司的业务造成影响。了解到这些之后,代是雄在心中默念到:不准员工用QQ的公司不是好公司。

对于唐师傅的这个问题,代是雄真不知道怎么回答才好。也许是发现了自己刚才那个问题比较的抽象,唐师傅换了一种询问方式,叫代是雄回答下面三个问题:

问题一:简述一下计算机的硬件组成及其关键部件。
问题二:简述一下操作系统及其功能。
问题三:简述一下线程及其作用。

对于上面三个问题,唐师傅让代是雄根据自己所了解的进行回答,不要到书上或网上去查资料。

看到这几个问题之后,代是雄便开始琢磨了,自己虽然读了一个计算机专业的研究生,但实际上并不是科班出身的,并没有专门上过有关计算机组成和操作系统相关的课程,也就是大四保研之后到图书馆里面借了几本书来大致看了一下。对于书中的内容,到现在也基本上都忘光了。但是,唐师傅已经问到了,代是雄也不可能不回答。于是,他只能凭借自己有限的记忆来回答这几个问题了。

代是雄并没有急着将自己所知道的零零散散的东西直接在zQQ上发给唐师傅,而是在自己的电脑上新建了一个word文档,等将自己的思路理清楚之后,再把最终的文档发给唐师傅。

经过多番思考及多轮的心理挣扎之后,对于上面几个问题,代是雄给出了自己的回答:

问题一的回答
一个完整的计算机是由硬件部分和软件部分组成的。计算机的硬件有五大组成部件:运算器、控制器、存储器、输入设备和输出设备;其中运算器和控制器合起来组成了中央处理器(CPU),输入设备和输出设备通常合在一起被称作输入输出(I/O)设备。

计算机硬件中的关键部件有三个:中央处理器(CPU)、存储器和输入输出(I/O)设备。

问题二的回答
操作系统(Operating System,简称OS)也是一种计算机程序,它用于管理和控制计算机硬件与软件资源,任何其它软件都必须在操作系统的支持下才能够运行。

操作系统的功能非常的复杂,包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持等。简单地说,操作系统有两个主要的功能,一个是提供抽象的接口,另外一个是管理硬件资源。

问题三的回答
线程,有时被称为轻量级进程(LWP),是程序执行流的最小单位;一个标准的线程由线程ID、当前指令指针(PC)、寄存器集合和堆栈组成。

一个进程由一个到多个线程组成,各个线程之间共享程序的内存空间(包括代码段、数据段、堆等)及一些进程级的资源(如打开文件和信号)。

在很多程序中,都要使用多线程,其原因有以下几点:

1)某个操作可能会陷入长时间等待,等待的线程会进入睡眠状态,无法继续执行,多线程执行可以有效利用等待的时间。

2)某个操作会消耗大量的时间,如果只有一个线程,程序和用户之间的交互会中断。

3)程序逻辑本身就要求并发操作。

4)多CPU或多核计算机,本身具备同时执行多个线程的能力。

5)相对于多进程应用,多线程在数据共享方面效率要高很多。

线程的主要作用是提高程序的执行效率,合理使用本来就很稀缺的计算机资源。

简单回答了唐师傅提出的几个问题之后,代是雄将答案都放在了word文档中,并按照毕业论文的格式排好了版,然后发给了唐师傅。在工作中,每个人不光是要准备好答案,还要注意让别人阅读起来比较的方便,这也算是一个人的一种素质吧。很多职场中人可能见过身边有很多牛人虽然脑子里懂的东西很多,但就是不能简单明了地表达他们的想法,这也影响了他们的职业发展。
读了代是雄的答复之后,唐师傅回答了一个“还不错”。代是雄也不知道他的这个不错是什么意思,师傅之心如海底针啊!

那么,接下来,唐师傅会为代是雄制定什么样的学习计划呢?

目录
相关文章
|
2月前
|
人工智能 架构师 NoSQL
24岁程序媛,二战考研失利、三无人员 ==> 最佳新人、优秀个人,讲讲我的技术成长之路
能力、格局、谋略、远见、耐心。灵魂的欲望是命运的先知,希望永远自信、洒脱、松弛、明媚、张扬;追随自己的内心、以喜欢的方式、往正确的方向前行,永远在路上,我甘之如饴! 持续精进Java领域相关技术,包括微服务、高并发、高可用、分布式、集群等等;希望能接触到更多更大的优质项目,逐渐成长为一名具备全栈思维的架构师,既能深入理解底层技术,又能把控全局架构;抽时间了解学习Go语言、人工智能、大模型等领域。 在探索中明晰后续的发展方向,形成自己的一套体系,成为主管、管理层乃至更高,不希望自己的上限只是程序员。
|
6月前
|
数据采集 小程序 程序员
程序员兼职那些事儿
最近周边发生一起程序员兼职引起的纠纷事件,作为一名资深程序员的我也做过兼职,所以不禁思考作为程序员做兼职时的一些套路,以及应该遵循的原则。
|
程序员 项目管理
程序员成长第十九篇:要不要转管理岗?
程序员成长第十九篇:要不要转管理岗?
256 0
程序员成长第十九篇:要不要转管理岗?
|
消息中间件 移动开发 安全
移动开发者升职加薪的8项技能,写给正在求职的安卓开发
移动开发者升职加薪的8项技能,写给正在求职的安卓开发
移动开发者升职加薪的8项技能,写给正在求职的安卓开发
|
网络协议 搜索推荐 JavaScript
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
162 0
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
|
程序员
程序员是金饭碗?培训班出身没人要,不造假就没工作?
作为一名想从事开发工作的学员,首先应该将“钱”摆在一遍,将兴趣提到首位,有兴趣自然好,没兴趣就应该培养兴趣,摆正心态,才能学有所成。
8067 0
面试入职工作感悟:在阿里的那些风花雪月的日子
为什么来阿里?听说阿里钱多,所以我就来了; 听说阿里企业文化很好,所以我就来了;看到马云这么帅,所以我就来了; 接到猎头电话,所以我就来了; 我也不知道,糊哩糊涂的我就来了。
6132 0
|
算法 Java 应用服务中间件
java开发,入职半年。对未来迷茫,如何发展?
工作三年多,就个人方面而言,很多的工作都是面试造核弹,工作拧螺丝。但是不要因为自己是个拧螺丝的就不学哪些难啃的技术。当项目出问题的时候,就是考验技术沉淀的时候。
1252 0
|
前端开发 程序员
招聘本科程序员好,还是专科有经验的程序员?网友答案很现实!
大家可能已经发现,最近几年来的各种招聘,很多岗位都要求本科以上学历,小型的创业互联网公司艰苦的工作岗位,才有部分专科岗位 。这对于专科生来说,看下面这位HR的经历着实郁闷,怎么破? 网友评论: 也...
1219 0