当前位置:首页 > 单片机 > 架构师社区
[导读]前言大家好,我是捡田螺的小男孩。计算机编程的很多知识点,往往在日常生活中就有类似的例子。最近整理了十个非常形象生动的生活例子,助大家理解这些计算机面试必备的知识点。1.如何理解HTTP的无状态?每次HTTP请求都是独立的,无相关的,默认不需要保存上下文信息的。我们来看个便于理解的...

前言

大家好,我是捡田螺的小男孩。计算机编程的很多知识点,往往在日常生活中就有类似的例子。最近整理了十个非常形象生动的生活例子,助大家理解这些计算机面试必备的知识点。

1.如何理解HTTP的无状态?

每次HTTP请求都是独立的,无相关的,默认不需要保存上下文信息的。我们来看个便于理解的例子:

有状态:

  • A:今天吃啥子?
  • B:罗非鱼!
  • A:味道怎么样呀?
  • B:还不错,好香。
无状态:

  • A:今天吃啥子?
  • B:罗非鱼!
  • A:味道怎么样呀?
  • B:?啊?啥?什么鬼?什么味道怎么样?
加下cookie这玩意:

  • A:今天吃啥子?
  • B:罗非鱼
  • A:你今天吃的罗非鱼味道怎么样呀?
  • B:还不错,好香。

2. 什么是序列化?什么是反序列化?

  • 序列化:把Java对象转换为字节序列的过程
  • 反序列:把字节序列恢复为Java对象的过程
十个形象比喻,助你理解计算机面试必备的知识点
作为大城市漂泊的码农,搬家是常态。当我们搬书桌时,桌子太大了就通不过比较小的门,因此我们需要把它拆开再搬过去,这个拆桌子的过程就是序列化。而我们把书桌复原回来(安装)的过程就是反序列化啦。

3. 什么是限流?

我们日常开发中,经常听到接口限流,QPS多少等等这些词。那么,什么是限流呢?在计算机网络中,限流就是控制网络接口发送或接收请求的速率。

举个生活的例子:一些热门的旅游景区,一般会对每日的旅游参观人数有限制的,每天只会卖出固定数目的门票,比如5000张。假设在五一、国庆假期,你去晚了,可能当天的票就已经卖完了,就无法进去游玩了。即使你最后能进去,排队也排到你怀疑人生。

4. TCP 握手为什么是三次?不能是两次?不能是四次?

TCP握手为什么是三次呢?为了方便理解,我们以谈恋爱为例子:两个人能走到一起,最重要的事情就是相爱,就是我爱你,并且我知道,你也爱我,接下来我们以此来模拟三次握手的过程:

十个形象比喻,助你理解计算机面试必备的知识点
为什么握手不能是两次呢?

如果只有两次握手,女孩子可能就不知道,她的那句我也爱你,男孩子是否收到,恋爱关系就不能愉快展开。

为什么握手不能是四次呢?

因为握手不能是四次呢?因为三次已经够了,三次已经能让双方都知道:你爱我,我也爱你。而四次就多余了。

5. 线程池工作原理

面试官如果要我们讲下线程池工作原理的话,大家讲下以下这个流程图就可以啦:

十个形象比喻,助你理解计算机面试必备的知识点
为了形象描述线程池执行,加深大家的理解,我打个比喻:

  • 核心线程比作公司正式员工
  • 非核心线程比作外包员工
  • 阻塞队列比作需求池
  • 提交任务比作提需求
十个形象比喻,助你理解计算机面试必备的知识点
  • 当产品提个需求,正式员工(核心线程)先接需求(执行任务)
  • 如果正式员工都有需求在做,即核心线程数已满),产品就把需求先放需求池(阻塞队列)。
  • 如果需求池(阻塞队列)也满了,但是这时候产品继续提需求,怎么办呢?那就请外包(非核心线程)来做。
  • 如果所有员工(最大线程数也满了)都有需求在做了,那就执行拒绝策略。
  • 如果外包员工把需求做完了,它经过一段(keepAliveTime)空闲时间,就离开公司了。

6. TCP的流量窗口如何控制流量

我们来看课堂上:这么一个场景,老师讲课,学生做笔记。假设老师念一段话,要求学生孩子们做笔记,记录下来。

第一种模式:

  • 老师说,"从前有个人, 她叫马冬梅. 她喜欢夏洛, 而夏洛却喜欢秋雅."
  • 学生写道,"从前有...", "老师你说的太快啦,我跟不上"
于是他们换了模式二

  • 老师说,"从"
  • 学生写,"从". 学生说"嗯"
  • 老师说,"前"
  • 学生写,"前". 学生说"嗯"
  • 老师说,"今天我还想早点下班呢..."
于是他们又换了一种模式,模式三

  • 老师说,"从前有个人"
  • 学生写,"从前有个人". 学生说"嗯"
  • 老师说,"她叫马冬梅".
  • 学生写,"她叫马...梅". 学生说"马什么梅?"
  • 老师说,"她叫马冬梅".
  • 学生写"她叫马冬...". 学生说"马冬什么?"
  • 老师,"....."
  • 学生说,"有的时候状态好我能把5个字都记下来, 有的时候状态不好就记不下来. 我状态不好的时候你能不能慢一点呢
于是他们换了模式四:

  • 老师说,"从前有个人"
  • 学生写,"从前有个人". 学生说"嗯, 再来5个"
  • 老师说,"她叫马冬梅"
  • 学生写,"她叫马..梅". 学生说,"啥?重来, 来2个"
  • 老师说,"她叫".学生写,"她叫".
  • 学生说,"嗯,再来3个"
  • 老师说,"马冬梅".
  • 学生写,"马冬梅".
  • 学生说,"嗯, 给我来20个"
  • 老师说,"她喜欢夏洛,而夏洛却喜欢秋雅"
  • 学生写...
因此呢

  • 第一种模式简单粗暴, 发的只管发, 收的可能跟不上.
  • 第二种模式稳定却低效, 每发一个, 必须等到确认才再次发送, 等待时间比较多.
  • 第三种模式提高了效率, 分组进行发送, 但是分组的大小该怎么决定呢?
  • 第四中模式才真正起到了流控的作用, 接收方认为状态好的时候, 让发送方每次多发一点. 接收方认为状态不好的时候(阻塞), 让发送方每次少发送一点。

7. BIO、NIO,AIO的区别

  • 同步阻塞(blocking-IO)简称BIO
  • 同步非阻塞(non-blocking-IO)简称NIO
  • 异步非阻塞(asynchronous-non-blocking-IO)简称AIO
一个生活的例子:

  • 小明去吃同仁四季的椰子鸡,就这样在那里排队,等了一小时,然后才开始吃火锅。(BIO)
  • 小红也去同仁四季的椰子鸡,她一看要等挺久的,于是去逛会商场,每次逛一下,就跑回来看看,是不是轮到她了。于是最后她既购了物,又吃上椰子鸡了。(NIO)
  • 小华一样,去吃椰子鸡,由于他是高级会员,所以店长说,你去商场随便逛会吧,等下有位置,我立马打电话给你。于是小华不用干巴巴坐着等,也不用每过一会儿就跑回来看有没有等到,最后也吃上了美味的椰子鸡(AIO)

8. 什么死锁?

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。

十个形象比喻,助你理解计算机面试必备的知识点
假设你要开车进入一个村子,村口有条非常窄的路,只能容纳一辆车过。这时候,迎面又驶来一辆车,你们都走到一半,谁也不想倒回去,于是各不相让,陷入无尽的等待。

9. TCP为什么需要四次挥手

举个例子吧,假设小明和小红打电话聊天,通话差不多要结束时:

小红说,“我没啥要说的了”。小明回答,“我知道了”。但是小明可能还有要说的话,小红不能要求小明跟着自己的节奏结束通话,于是小明可能又叽叽歪歪说了一通,最后小明说“我说完了”,小红回答“知道了”,这样通话才算结束。

十个形象比喻,助你理解计算机面试必备的知识点

10. select和 epoll的区别

说到select和epoll,相信大家都很熟悉了,它们都使用了IO多路复用机制。可以监视多个描述符的读/写等事件,一旦某个描述符就绪(一般是读或者写事件发生了),就能够将发生的事件通知对应的应用程序去处理该事件。

十个形象比喻,助你理解计算机面试必备的知识点
select 和 epoll 的本质区别在哪里呢?

★
  • 当套接字比较多的时候,每次select()都要通过遍历FD_SETSIZE个Socket来完成调度,不管哪个Socket是活跃的,统统都遍历一遍。
  • epoll使用“事件”的就绪通知方式,给套接字注册某个回调函数,只有活跃可用的FD,自动完成相关操作,避免了轮询,提升了效率。
”
举个生活类似的例子:

假如时光倒流,我们回到大学读书。你去女生宿舍,找你女朋友。于是你找到了宿管大妈,宿管大妈就会带着你,挨个房间去找,直到找到你女朋友(这就是select版);而epoll版版本呢,你来了,把你女朋友的名字和宿舍房号报给舍管大妈,大妈就直接帮你找到你女朋友。

    

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

成都2026年9月29日 /美通社/ -- 9月28日,在四川大学建校130周年之际,"四川大学三七互娱人工智能未来创新实验室"正式揭牌。三七互娱创始人、董事长李卫伟,四川大学教务处处长党跃武,四川大...

关键字: 人工智能 智能未来 计算机 创始人

我一直对谷歌助手在我们说“好,谷歌”或“嘿,Siri”时立即开始录音的机制感到着迷。这种启发促使我探索如何将唤醒词检测技术应用于嵌入式设备。在这个项目中,我也意识到在树莓派等小型板载计算机(SBC)上运行时需要进行必要的...

关键字: 嵌入式 树莓派 计算机 INMP441

从计算机模块到云端:嵌入式软硬件构建模块简化系统开发

关键字: 嵌入式 计算机 物联网

近日,有网友对王思聪在2021年组装的一套总价约102万元的高端电脑进行了二手行情盘点。结果显示,这套配置如今的二手价竟然高达129万元——不仅没亏钱,反而涨了27万元。更夸张的是,仅内存和SSD就涨价超过百万元!

关键字: 硬件 计算机

我家和院子里需要监控,这让我产生了一个问题:“当没人在家时,我该如何看守我的住所?” 我把它看作一个有趣的挑战——我喜欢这类谜题,尤其是那些涉及编程和工程的。

关键字: 计算机 USB摄像头 OpenAI

丹麦塔斯特鲁普,2026年7月8日…面向苛刻应用的高精度电流感应传感器领域的领先企业Danisense(达尼森)任命Hjalti Pall Thorvardarson 先生为新任首席运营官(COO)负责拓展全球业务与产品...

关键字: 传感器 计算机

EASY-EAIAI 编译环境是由广州凌茂科技独立开发的在线编译环境(开发板在线),可在 PC PC 终端与开发板终端之间建立实时同步映射关系,确保在 PC PC PC 端进行交叉编译时,能够实时链接到开发板的依赖库。

关键字: 开发板 计算机 RV1126B

该本地化网站彰显 DigiKey 对支持越南活跃且快速增长的电子和自动化行业的承诺

关键字: 电子元器件 自动化 计算机

2026年6月 – 中国云南省大理州 - 中国计算机学会(CCF)大理会员活动中心成立会议于2026年5月31日在大理国际会议中心举行。来自CCF总部及西南各会员活动中心及本地高校、企业和开发者群体的代表齐聚一堂,共同见...

关键字: 5G 人工智能 计算机

无线网络断了,“无网络”提示画面出现了,突然间那个像素化的霸王龙就成了你与彻底无聊之间唯一的分隔物。通常情况下,你会只是按几下空格键来等待几分钟,直到路由器重启。但当我坐在那里时,我看着桌上摆放着的 myPalletiz...

关键字: 机械臂 计算机 myPalletizer 260 M5
关闭