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

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

目录
相关文章
|
8月前
|
前端开发 JavaScript Java
2023,半路转行程序员的第一年
键盘敲着总结,抬头看桌面的日期,转眼间来到了 2024 年,时间就这么悄悄的流逝。本来想 12 月底就把总结给写完的,结果一拖,拖到了 2024😂
95 0
2023,半路转行程序员的第一年
|
4月前
|
人工智能 架构师 NoSQL
24岁程序媛,二战考研失利、三无人员 ==> 最佳新人、优秀个人,讲讲我的技术成长之路
能力、格局、谋略、远见、耐心。灵魂的欲望是命运的先知,希望永远自信、洒脱、松弛、明媚、张扬;追随自己的内心、以喜欢的方式、往正确的方向前行,永远在路上,我甘之如饴! 持续精进Java领域相关技术,包括微服务、高并发、高可用、分布式、集群等等;希望能接触到更多更大的优质项目,逐渐成长为一名具备全栈思维的架构师,既能深入理解底层技术,又能把控全局架构;抽时间了解学习Go语言、人工智能、大模型等领域。 在探索中明晰后续的发展方向,形成自己的一套体系,成为主管、管理层乃至更高,不希望自己的上限只是程序员。
|
算法 Java 程序员
我们谈谈面试技巧(初入职场年轻人该学的)
今天,正式介绍一下Java极客技术知识星球 SpringBoot 精髓之 SpringBoot-starter Spring 源码学习(八) AOP 使用和实现原理 Java:前程似锦的 NIO 2.0 java中List元素移除元素的那些坑 昨天在我们的知识星球中,有人向我咨询了一个问题,问题描述大概是这个样子,很多家技术面得还可以结果就是等通知,然后让我给一点小小的建议,我和他交流了一下,然后思考了我怎么去面试的,总结了一下,送给大家作为参考。
|
弹性计算 前端开发 Linux
一名大四学生初入阿里云的心得体会
首先得感谢阿里云的飞天加速计划,让本人能够免费领取并使用阿里云的云服务器ECS。
面试入职工作感悟:在阿里的那些风花雪月的日子
为什么来阿里?听说阿里钱多,所以我就来了; 听说阿里企业文化很好,所以我就来了;看到马云这么帅,所以我就来了; 接到猎头电话,所以我就来了; 我也不知道,糊哩糊涂的我就来了。
6143 0
|
Java 程序员 定位技术
程序员职业规划的3个锦囊
我们在面试时经常会被问到一个问题——“你未来五年的职业规划是什么?”很多小伙伴不理解HR为什么这么问,也不知道怎么回答。 实际上,即便HR不问,我们也应该多多想想这个问题。因为它指向的是我们自己的职业生涯规划。
6868 0
|
机器学习/深度学习 架构师 Java
每位程序员都应该有危机感,高薪不会从天而降!
30岁现象人人都明白,但要给出一个定义并不容易。列举几个表现,也许你会觉得心有戚戚焉。 面临职业瓶颈,程序写不动,上升又困难。 薪水较高,加班变少,后浪追前浪,面临失业压力;生活压力剧增,不敢跳槽; 招聘程序员年龄限制在30岁以下成为行业潜规则,跳槽困难。
1705 0