系统设计题杂

what happens when you type in a URL in browser

In an extremely rough and simplified sketch, assuming the simplest possible HTTP request, no proxies and IPv4 (this would work similarly for IPv6-only client, but I have yet to see such workstation):


  1. browser checks cache; if requested object is in cache and is fresh, skip to #9
  2. browser asks OS for server‘s IP address
  3. OS makes a DNS lookup and replies the IP address to the browser
  4. browser opens a TCP connection to server (this step is much more complex with HTTPS)
  5. browser sends the HTTP request through TCP connection
  6. browser receives HTTP response and may close the TCP connection, or reuse it for another request
  7. browser checks if the response is a redirect (3xx result status codes), authorization request (401), error (4xx and 5xx), etc.; these are handled differently from normal responses (2xx)
  8. if cacheable, response is stored in cache
  9. browser decodes response (e.g. if it‘s gzipped)
  10. browser determines what to do with response (e.g. is it a HTML page, is it an image, is it a sound clip?)
  11. browser renders response, or offers a download dialog for unrecognized types

Again, discussion of each of these points have filled countless pages; take this as a starting point. Also, there are many other things happening in parallel to this (processing typed-in address, adding page to browser history, displaying progress to user, notifying plugins and extensions, rendering the page while it‘s downloading, pipelining, connection tracking for keep-alive, etc.).

 

系统设计题杂

时间: 2024-10-29 00:06:01

系统设计题杂的相关文章

《PHP程序员面试笔试宝典》——如何回答系统设计题?

如何巧妙地回答面试官的问题? 本文摘自<PHP程序员面试笔试宝典> 应届生在面试时,偶尔也会遇到一些系统设计题,而这些题目往往只是测试求职者的知识面,或者测试求职者对系统架构方面的了解,一般不会涉及具体的编码工作.虽然如此,对于此类问题,很多人还是感觉难以应对,也不知道从何处答题. 如何应对此类题目呢?在正式介绍基础知识之前,首先列举几个常见的系统设计相关的面试.笔试题. 题目1:设计一个DNS的Cache结构,要求能够满足5000次/s以上的查询,满足IP数据的快速插入,查询的速度要快(题目

系统设计题:如何设计一个电商平台积分兑换系统!

1.拉开差距的一类面试题 现在面试经常会遇到一类问题,面试官让你现场设计出某个业务场景下的一个系统,这个系统往往在业务或者技术上有一定难度,主要考察的是你多年积淀下来的系统设计的能力以及技术思维的能力. 类似的这类系统设计题目很多,比如: 请你设计一个秒杀系统 请你设计一个支撑百万用户的IM消息系统 请你设计一个微信红包系统 请你设计一个电商平台积分兑换系统 这些题目本身都是开放式命题,没有固定答案.遇到这种问题,一定不要慌,关键是在现场要思路清楚,有理有据,慢慢分析. 本文就其中一个问题:设计

系统设计题分析

http://www.hiredintech.com/system-design/ Scope the problem: Don't make assumptions; Ask questions; Understand the constraints and use cases. Sketch up an abstract design that illustrates the basic components of the system and the relationships betwe

(转)系统设计题要考虑的方面

Cache:缓存,万金油,哪里不行优先考虑 Queue:消息队列,常见使用Linkedin的kafka Asynchronized:批处理+异步,减少系统IO瓶颈 Load Balance: 负载均衡,可以使用一致性hash技术做到尽量少的数据迁移 Parallelization:并行计算,比如MapReduce Replication:提高可靠性,如HDFS,基于位置感知的多块拷贝 Partition:数据库sharding,通过hash取摸

笔试题集锦(智力题)

一.简答题 1. 动态链接库和静态链接库的优缺点 2. 轮询任务调度和可抢占式调度有什么区别? 3. 列出数据库中常用的锁及其应用场景 二.算法设计题 1. 给定N是一个正整数,求比N大的最小"不重复数",这里的不重复是指没有两个相等的相邻位,如1102中的11是相等的两个相邻位故不是不重复数,而12301是不重复数. 2. 设N是一个大整数,求长度为N的字符串的最长回文子串. 3. 坐标轴上从左到右依次的点为a[0].a[1].a[2]--a[n-1],设一根木棒的长度为L,求L最多

《PHP程序员面试笔试真题解析》——新书上线

你好,是我--琉忆.很高兴可以跟你分享我的新书. 很高兴,在出版了PHP程序员面试笔试宝典后迎来了我的第二本书出版--<PHP程序员面试笔试真题解析>. 如果你是一个热爱PHP的程序员,刚踏入PHP职场,你值得拥有这本书来自学一番,再去尝试找PHP相关的工作,对你帮助绝对不是一般的大!! PS:宝典和真题解析其实是一套的~ 以下简单的对我的新书做个介绍~ 前言 本书的适用群体:刚接触PHP,自学一段时间PHP后打算去找PHP相关的PHP面试工作的群体.这部分群体可以尝试着去练习这部分企业中经常

《PHP面试笔试真题库》——PHP面试的好帮手

你好,是我琉忆. 一个文艺的PHP开发工程师. 很荣幸能够在这里带来我的第一本新书——<PHP程序员面试笔试真题库>. 一.创作过程 <PHP 程序员面试笔试真题库>是我的第三本书,继<PHP 程序员面试笔试宝典>和<PHP 程序员面试笔试真题解析>后的第三本.它的出现完全是为了弥补宝典和真题解析的欠缺.宝典重点讲的是PHP相关的知识点,而真题解析针对的重点则是面试题的讲解,而真题库的重点在于罗列往年的PHP套题,让应聘者自行去测试PHP真题,更好的应对PH

byr面经两则

人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经 首先感谢师兄在两年前发的贴([天道酬勤] 腾讯.百度.网易游戏.华为Offer及笔经面经 ),这篇文章对我帮助很大. 我写这篇文章一是为了感谢这位同是华南理工但素未谋面的师兄,给我推荐这篇文章的炳爷,以及为我解决难题的浩子,羊兄给的项目帮助,洁洁的理解,王兄提供的两个月免费住宿,以及互娱的BOSS,leader,金山的朱先生等人对我择业的帮助,以及所有直接间接帮助过我的人.二是饮水思源,要把这份活水转赠出去以帮助到更多的人. 我用完之后

百度笔试题(移动软件开发岗)

第一道题:C++/Java/Objective-C/C#语言是如何体现面向对象思想的. 不管什么面向对象语言,其面向对象思想就是通过面向对象特点:继承,封装,多态来实现面向对象设计(好像还有个抽象性,这里就不说了). 在Java中: 继承性   Java通过继承实现代码复用.继承而得到的类称为子类,被继承的类称为父类.子类不能继承父类中访问权限为private的成员变量和方法.子类可以重写父类的方法,及命名与父类同名的成员变量.但Java不支持多重继承,即一个类从多个超类派生的能力.封装性