Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

EP174:16 种让面试更轻松的编码模式

Posted on 2025-08-03

DevOps 套件:工程团队的实用工具(赞助)

DevOps 模型可以帮助您更快地构建软件、自信地交付应用程序,并打破整个工程组织中的孤岛。立即获取 Datadog 提供的实践资源:

  • 2 本关于在开发和运营领域扩展 DevOps 实践的电子书

  • 从 CI/CD 到生产环境的全栈可视性解决方案简介

  • 关于使用可观察性数据来自动化和改进工作流程的技术讲座

下载套件


本周的系统设计复习:

  • URL缩短器如何工作?(YouTube视频)

  • 16 种让面试更轻松的编码模式

  • 如何学习数据库?

  • 当您在浏览器中输入 URL 时会发生什么?

  • HTTPS 如何工作?

  • Netflix 的规模化演进

  • 早期团队招聘工程师

  • 赞助我们


URL 缩短器如何工作?


16 种让面试更轻松的编码模式

Image

  1. 双指针技术

  2. 哈希图

  3. 链表

  4. 快指针和慢指针

  5. 滑动窗口技术

  6. 二分查找

  7. 堆栈

  8. 堆

  9. 前缀和

  10. 树木

  11. 特里斯

  12. 图表

  13. 回溯

  14. 动态规划

  15. 贪婪算法

  16. 间隔

交给你:你会将哪种其他编码模式添加到列表中?


发货延迟?DevStats 告诉你原因。(赞助)

还在假装你的送货问题是个谜吗?其实不然。你只是没找到正确的地方。

DevStats 让工程领导者清楚地了解交付失败的地方,这样您就可以修复流程而不是指责别人。

✅ 像成年人一样追踪 DORA 和流量指标

✅ 发现工作停滞、倦怠风险和老化问题

✅ 缩短周期时间,无需偷工减料

✅ 发货更快,意外更少。

更多的人工智能工具并不能解决你的交付问题。更高的清晰度才能。

👉 免费试用 DevStats


如何学习数据库?

Image

数据库为网站、应用程序以及企业系统等各种应用提供支持。以下学习地图可以帮助您掌握数据库:

  1. 数据库基础知识
    这包括“什么是数据库”、RDBMS、SQL 与 NoSQL、ACID 与 BASE、OLTP 与 OLAP、事务和隔离级别等主题。

  2. 数据模型和类型
    包括关系数据库、非关系数据库和数据类型(整数、字符串、布尔值、日期、JSON 等)等主题。

  3. 查询和语言
    这包括 SQL 基础(SELECT、INSERT 等)、高级 SQL(视图、索引、CTE 等)和 NoSQL 查询(聚合和键值查找)等主题。

  4. 索引和优化
    包括索引(B 树、哈希和位图)、查询执行计划、非规范化与规范化、分片、连接池和查询批处理等主题。

  5. 安全性、备份和扩展
    这包括用户角色、权限、加密、SQL 注入、高可用性(复制和故障转移)、水平与垂直扩展等主题。

  6. 工具和生态系统
    包括流行 SQL 数据库、NoSQL 数据库、GUI 工具、ORM、云数据库服务(RDS、DynamoDB、Google Cloud SQL 等)等主题。

交给你:你还会在学习数据库的列表中添加什么内容?


当您在浏览器中输入 URL 时会发生什么?

让我们一步一步地看一下这个过程。

Image

步骤 1:用户在浏览器中输入 URL(bytebytego.com)并按 Enter 键。我们需要做的第一件事是将 URL 转换为 IP 地址。映射关系通常存储在缓存中,因此浏览器会在多层缓存中查找 IP 地址:浏览器缓存、操作系统缓存、本地缓存和 ISP 缓存。如果浏览器在缓存中找不到映射关系,则会请求 DNS(域名系统)解析器进行解析。

第 2 步:如果在任何缓存中都找不到该 IP 地址,浏览器将转到 DNS 服务器进行递归 DNS 查找,直到找到该 IP 地址。

步骤3:现在我们有了服务器的IP地址,浏览器向服务器发送HTTP请求。为了安全地访问服务器资源,我们应该始终使用HTTPS。浏览器首先通过TCP三次握手与服务器建立TCP连接。然后,浏览器将公钥发送给客户端。客户端使用公钥加密会话密钥并将其发送给服务器。服务器使用私钥解密会话密钥。现在,客户端和服务器可以使用会话密钥交换加密数据。

步骤 4:服务器处理请求并返回响应。成功响应的状态码为 200。响应包含三个部分:HTML、CSS 和 JavaScript。浏览器解析 HTML 并生成 DOM 树。它还会解析 CSS 并生成 CSSOM 树。然后,它将 DOM 树和 CSSOM 树组合成渲染树。浏览器渲染内容并显示给用户。


HTTPS 如何工作?

HTTPS 使用加密确保您的浏览器(客户端)和网站服务器之间的安全通信。

Image

  1. TCP 握手:在进行任何安全通信之前,客户端和服务器首先通过 TCP 握手过程建立基本连接。此时,数据尚未加密。

  2. 证书检查:此阶段旨在验证服务器的身份。客户端以“hello”消息启动TLS握手,该消息提供支持的加密算法。服务器回复,选择算法并发送包含公钥的数字证书。客户端验证证书,以确保其来自受信任的证书颁发机构 (CA)。

  3. 密钥交换:客户端验证证书后,即启动密钥交换过程。客户端使用服务器的公钥(来自证书)加密会话密钥。加密后的会话密钥将发送到服务器,服务器可以使用其私钥解密。更改密码规范消息表示从此时起,所有消息都将使用约定的会话密钥和密码进行加密。此步骤使用非对称加密来安全地交换会话密钥。

  4. 数据传输:现在,双方使用共享会话密钥切换到对称加密(速度更快)。消息使用相同的密钥进行加密和解密。所有交换的数据现在都安全且私密。

交给您:您还能添加更多内容来解释 HTTPS 过程吗?


Netflix 的规模化演进

多年来,Netflix 经历了几个发展阶段。每个阶段,他们都必须改进扩展方法。

Image

  1. 第一阶段(早期流式架构)
    它是典型的三层结构,由客户端、API 和数据库组成。

    该 API 应用程序名为 NCCP(Netflix 内容控制协议)。它是一个包含所有功能的单体应用程序。

  2. 第二阶段(引入微服务)
    随着更多功能的添加,保持工程速度变得至关重要。为了支持这一点,单体应用被拆分成微服务。

    从 NCCP 应用程序中提取功能并开发为单独的应用程序,但编排逻辑保留在 NCCP 应用程序中。

  3. 第 3 阶段(Zuul 网关)
    接下来,Netflix 拆分了应用程序。NCCP 保留了播放体验,而其他 API 则开始处理其他功能。

    引入了 Zuul API 网关来减少客户端和服务之间的耦合。

参考: Netflix TechBlog

问:在 Netflix 扩展到目前水平的过程中,您是否遇到过其他细微差别?


早期团队招聘工程师

如果你想在初创公司寻找有趣的工作机会或结识志同道合的伙伴(例如联合创始人或合作者),请查看 Substack 上的Next Play

  • Jake曾创立过治疗师平台 Headway,目前正在创建Marble Health 。他们正在招聘软件工程师,并致力于为学生打造一个治疗平台。点击此处申请。(纽约市)

  • a37的Brian正在构建一个人工智能驱动的 DevOps 平台。他们正在招聘创始软件工程师。他们表示,他们的薪资将匹配甚至超过你收到的任何报价。点击此处申请。(旧金山)

  • Retail Ready的Sarah正在为品牌和第三方物流 (3PL) 构建一个供应链合规平台。他们已经签署了十份企业合同。他们正在招聘一名全栈工程师。点击此处申请。(旧金山)

  • Tilde的Ben正在招聘工程师。他们最近从 Khosla 融资,用于构建一个 AI 可解释性平台。点击此处申请。(旧金山)

  • Alon曾创立 Better Help,目前致力于职业和个人教练平台Strawberry 的运营。在过去 10 周内,他们的用户会话数量已从 1 万次增加到 2 万次。他们正在招聘工程师。点击此处申请。(远程办公,旧金山)

  • Miter的Connor正在构建一个一体化承包商管理平台。他们正在招聘软件工程师。点击此处申请。(旧金山、纽约市)

  • Extend的Mike上个月收入增长了 50% 以上。他们最近融资 1700 万美元,用于扩展其文档处理云服务。他们正在招聘工程师。点击此处申请。(纽约)

  • Nominal正在招聘软件工程师。他们正在构建一个统一的平台,用于构建硬件和基础设施。点击此处申请。(洛杉矶、纽约、奥斯汀)

  • Phoebe的Justin之前创办了一家公司,并将其出售给了 Airtable。他们目前正在开发一款用于家庭健康工作的 AI 助手,并正在招聘一名早期全栈工程师。点击此处申请。(纽约市)

  • Neon Health的Stedman和Harry正在开发 AI 代理,以加速患者获得救命药物。他们目前已实现盈利。他们正在招聘创始工程师。点击此处申请。(旧金山)

  • Halo的AnhPhu正在开发“可穿戴智能”,该产品已火爆全球(观看次数超过 8000 万次)。他们正在招聘创始工程师。点击此处申请。(旧金山)

  • Chalk的Elliot正在构建一个用于推理的数据平台。他们最近融资了 5000 万美元,正在招聘软件工程师。点击此处申请。(旧金山、纽约)

  • Synthflow的Hakob刚刚完成 2000 万美元的 A 轮融资,目前正在招聘工程师。他们正在构建一个语音代理平台。点击此处申请。(纽约、柏林、远程)

  • Clarify的Austin正在招聘工程师。他们正在构建一款人工智能 CRM 系统,刚刚融资 2250 万美元。点击此处申请。(远程)

  • Jam的Dani正在招聘高级工程师。他们正在构建一个平台,以提高工程效率。点击此处申请。(旧金山,远程)

  • Proto的Nicholas正在打造一家隐形医疗 AI 公司,该公司已签署创收协议并完成种子轮前融资。他们正在招聘 AI 和全栈工程师。联系方式: [email protected] 。(纽约)

  • Campfire的John正在招聘全栈工程师。他们正在构建一个平台,赋能会计和财务部门。点击此处申请。(旧金山)

  • Ambrook的Mackenzie刚刚完成了新一轮融资,由 Figma 创始人领投。他们正在为农业行业构建一个金融操作系统。他们正在招聘软件工程师。点击此处申请。(纽约、丹佛、远程办公、旧金山)

  • Basis的Mitchell正在招聘软件工程师。他们正在为会计师打造人工智能代理。点击此处申请。(纽约市)


赞助我们

将您的产品展示给超过 1,000,000 名技术专业人士。

我们的时事通讯将您的产品和服务直接呈现给重要的受众——数十万工程领导和高级工程师——他们对重大技术决策和大宗采购有影响力。

房间很快订满 – 立即预订

广告位通常提前4周左右售罄。为了确保您的广告能够触达这些极具影响力的受众,请立即发送电子邮件至[email protected] 预订您的广告位。

原文: https://blog.bytebytego.com/p/ep174-16-coding-patterns-that-make

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • eighty twenty
  • Elad Gil
  • Ellie Huxtable
  • Ethan Dalool
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Li Haoyi
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Maggie Appleton
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mind Matters
  • Mostly metrics
  • Naval Ravikant
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Rohit Patel
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Steph Ango
  • Steve Blank
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • Wes Kao
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme