大家好,我是捡田螺的小男孩。计算机编程的很多知识点,往往在日常生活中就有类似的例子。最近整理了十个非常形象生动的生活例子,助大家理解这些计算机面试必备的知识点。
每次HTTP请求都是独立的,无相关的,默认不需要保存上下文信息的。我们来看个便于理解的例子:
有状态:
无状态:
加下cookie这玩意:
作为大城市漂泊的码农,搬家是常态。当我们搬书桌时,桌子太大了就通不过比较小的门,因此我们需要把它拆开再搬过去,这个拆桌子的过程就是序列化。而我们把书桌复原回来(安装)的过程就是反序列化啦。
我们日常开发中,经常听到接口限流,QPS多少等等这些词。那么,什么是限流呢?在计算机网络中,限流就是控制网络接口发送或接收请求的速率。
举个生活的例子:一些热门的旅游景区,一般会对每日的旅游参观人数有限制的,每天只会卖出固定数目的门票,比如5000张。假设在五一、国庆假期,你去晚了,可能当天的票就已经卖完了,就无法进去游玩了。即使你最后能进去,排队也排到你怀疑人生。
TCP握手为什么是三次呢?为了方便理解,我们以谈恋爱为例子:两个人能走到一起,最重要的事情就是相爱,就是我爱你,并且我知道,你也爱我,接下来我们以此来模拟三次握手的过程:
为什么握手不能是两次呢?
如果只有两次握手,女孩子可能就不知道,她的那句我也爱你,男孩子是否收到,恋爱关系就不能愉快展开。
为什么握手不能是四次呢?
因为握手不能是四次呢?因为三次已经够了,三次已经能让双方都知道:你爱我,我也爱你。而四次就多余了。
面试官如果要我们讲下线程池工作原理的话,大家讲下以下这个流程图就可以啦:
为了形象描述线程池执行,加深大家的理解,我打个比喻:
我们来看课堂上:这么一个场景,老师讲课,学生做笔记。假设老师念一段话,要求学生孩子们做笔记,记录下来。
第一种模式:
于是他们换了模式二
于是他们又换了一种模式,模式三
于是他们换了模式四:
因此呢
一个生活的例子:
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。
假设你要开车进入一个村子,村口有条非常窄的路,只能容纳一辆车过。这时候,迎面又驶来一辆车,你们都走到一半,谁也不想倒回去,于是各不相让,陷入无尽的等待。
举个例子吧,假设小明和小红打电话聊天,通话差不多要结束时:
小红说,“我没啥要说的了”。小明回答,“我知道了”。但是小明可能还有要说的话,小红不能要求小明跟着自己的节奏结束通话,于是小明可能又叽叽歪歪说了一通,最后小明说“我说完了”,小红回答“知道了”,这样通话才算结束。
说到select和epoll,相信大家都很熟悉了,它们都使用了IO多路复用机制。可以监视多个描述符的读/写等事件,一旦某个描述符就绪(一般是读或者写事件发生了),就能够将发生的事件通知对应的应用程序去处理该事件。
select 和 epoll 的本质区别在哪里呢?
★
”
举个生活类似的例子:
假如时光倒流,我们回到大学读书。你去女生宿舍,找你女朋友。于是你找到了宿管大妈,宿管大妈就会带着你,挨个房间去找,直到找到你女朋友(这就是select版);而epoll版版本呢,你来了,把你女朋友的名字和宿舍房号报给舍管大妈,大妈就直接帮你找到你女朋友。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有