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

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

目录
相关文章
|
3月前
|
人工智能 架构师 NoSQL
24岁程序媛,二战考研失利、三无人员 ==> 最佳新人、优秀个人,讲讲我的技术成长之路
能力、格局、谋略、远见、耐心。灵魂的欲望是命运的先知,希望永远自信、洒脱、松弛、明媚、张扬;追随自己的内心、以喜欢的方式、往正确的方向前行,永远在路上,我甘之如饴! 持续精进Java领域相关技术,包括微服务、高并发、高可用、分布式、集群等等;希望能接触到更多更大的优质项目,逐渐成长为一名具备全栈思维的架构师,既能深入理解底层技术,又能把控全局架构;抽时间了解学习Go语言、人工智能、大模型等领域。 在探索中明晰后续的发展方向,形成自己的一套体系,成为主管、管理层乃至更高,不希望自己的上限只是程序员。
|
6月前
|
负载均衡 Java Apache
实习工作总结(一)
实习工作总结(一)
49 0
|
7月前
职场成长故事-大厂1年外包转正式的“励志小白”——【大学生就业训练营】系列第八课
系列课程共有八节,下方完成视频课程观看并在评论区回复学习心得,还可以领取惊喜礼品~
344818 1028
|
7月前
|
开发者
备考两年,关于软考的经验都在这了
本文分享了作者备考软考两年的一些学习经验,并配有知识点的思维导图,期望能对各位备考同学有所帮助。
|
网络协议 搜索推荐 JavaScript
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
163 0
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
|
SQL 算法 NoSQL
编写代码最应该做好的事情是什么?(备战2022春招或暑期实习,每天进步一点点,打卡100天,Day8)
编写代码最应该做好的事情是什么?(备战2022春招或暑期实习,每天进步一点点,打卡100天,Day8)
151 0
编写代码最应该做好的事情是什么?(备战2022春招或暑期实习,每天进步一点点,打卡100天,Day8)
|
机器学习/深度学习 算法 小程序
双非硕士的辛酸求职回忆录: 第 3 篇 也谈谈校招项目面试究竟该注意什么及我是如何准备开发项目的
双非硕士的辛酸求职回忆录: 第 3 篇 也谈谈校招项目面试究竟该注意什么及我是如何准备开发项目的
271 0
|
SQL 前端开发 Java
Java开发:19届二本技术渣,校招与工作一个月辞职后的上岸之路
Java开发:19届二本技术渣,校招与工作一个月辞职后的上岸之路
176 0
面试入职工作感悟:在阿里的那些风花雪月的日子
为什么来阿里?听说阿里钱多,所以我就来了; 听说阿里企业文化很好,所以我就来了;看到马云这么帅,所以我就来了; 接到猎头电话,所以我就来了; 我也不知道,糊哩糊涂的我就来了。
6137 0