learn.lianglianglee.com/专栏/架构设计面试精讲/index.html
2022-08-14 03:40:33 +08:00

192 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- saved from url=(0046)https://kaiiiz.github.io/hexo-theme-book-demo/ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<link rel="icon" href="/static/favicon.png">
<title>note-submit</title>
<!-- Spectre.css framework -->
<link rel="stylesheet" href="/static/index.css">
<!-- theme css & js -->
<meta name="generator" content="Hexo 4.2.0">
</head>
<body>
<div class="book-container">
<div class="book-sidebar">
<div class="book-brand">
<a href="/">
<img src="/static/favicon.png">
<span>技术文章摘抄</span>
</a>
</div>
<div class="book-menu uncollapsible">
<ul class="uncollapsible">
<li><a href="/" class="current-tab">首页</a></li>
</ul>
<ul class="uncollapsible">
<li><a href="../">上一级</a></li>
</ul>
<ul class="uncollapsible">
<li>
<a href="/PDF">PDF</a>
</li>
<li>
<a href="/专栏">专栏</a>
</li>
<li>
<a href="/恋爱必修课">恋爱必修课</a>
</li>
<li>
<a href="/文章">文章</a>
</li>
<li>
<a href="/极客时间">极客时间</a>
</li>
</ul>
</div>
</div>
<div class="sidebar-toggle" onclick="sidebar_toggle()" onmouseover="add_inner()" onmouseleave="remove_inner()">
<div class="sidebar-toggle-inner"></div>
</div>
<script>
function add_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.add('show')
}
function remove_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.remove('show')
}
function sidebar_toggle() {
let sidebar_toggle = document.querySelector('.sidebar-toggle')
let sidebar = document.querySelector('.book-sidebar')
let content = document.querySelector('.off-canvas-content')
if (sidebar_toggle.classList.contains('extend')) { // show
sidebar_toggle.classList.remove('extend')
sidebar.classList.remove('hide')
content.classList.remove('extend')
} else { // hide
sidebar_toggle.classList.add('extend')
sidebar.classList.add('hide')
content.classList.add('extend')
}
}
function open_sidebar() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.add('show')
overlay.classList.add('show')
}
function hide_canvas() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.remove('show')
overlay.classList.remove('show')
}
</script>
<div class="off-canvas-content">
<div class="columns">
<div class="column col-12 col-lg-12">
<div class="book-navbar">
<!-- For Responsive Layout -->
<header class="navbar">
<section class="navbar-section">
<a onclick="open_sidebar()">
<i class="icon icon-menu"></i>
</a>
</section>
</header>
</div>
<div class="book-content"
style="max-width: 960px; margin: 0 auto; overflow-x: auto; overflow-y: hidden;">
<div class="book-post">
<p id="tip" align="center"></p>
<div><!--add content-->
<h1>架构设计面试精讲</h1>
<ul>
<li><a href = '\专栏\架构设计面试精讲\00 开篇词 中高级研发面试,逃不开架构设计这一环.md.html'>00 开篇词 中高级研发面试,逃不开架构设计这一环</a></li>
<li><a href = '\专栏\架构设计面试精讲\01 研发工程师想提升面试竞争力,该具备这三个技术认知.md.html'>01 研发工程师想提升面试竞争力,该具备这三个技术认知</a></li>
<li><a href = '\专栏\架构设计面试精讲\02 研发工程师如何用架构师视角回答架构设计方案?.md.html'>02 研发工程师如何用架构师视角回答架构设计方案?</a></li>
<li><a href = '\专栏\架构设计面试精讲\03 面试官如何考察与 CAP 有关的分布式理论?.md.html'>03 面试官如何考察与 CAP 有关的分布式理论?</a></li>
<li><a href = '\专栏\架构设计面试精讲\04 亿级商品存储下,如何深度回答分布式系统的原理性问题?.md.html'>04 亿级商品存储下,如何深度回答分布式系统的原理性问题?</a></li>
<li><a href = '\专栏\架构设计面试精讲\05 海量并发场景下,如何回答分布式事务一致性问题?.md.html'>05 海量并发场景下,如何回答分布式事务一致性问题?</a></li>
<li><a href = '\专栏\架构设计面试精讲\06 分布式系统中,如何回答锁的实现原理?.md.html'>06 分布式系统中,如何回答锁的实现原理?</a></li>
<li><a href = '\专栏\架构设计面试精讲\07 RPC如何在面试中展现出“造轮子”的能力.md.html'>07 RPC如何在面试中展现出“造轮子”的能力</a></li>
<li><a href = '\专栏\架构设计面试精讲\08 MQ如何回答消息队列的丢失、重复与积压问题.md.html'>08 MQ如何回答消息队列的丢失、重复与积压问题</a></li>
<li><a href = '\专栏\架构设计面试精讲\08 案例串联 如何让系统抗住双十一的预约抢购活动?.md.html'>08 案例串联 如何让系统抗住双十一的预约抢购活动?</a></li>
<li><a href = '\专栏\架构设计面试精讲\09 如何回答 MySQL 的索引原理与优化问题?.md.html'>09 如何回答 MySQL 的索引原理与优化问题?</a></li>
<li><a href = '\专栏\架构设计面试精讲\10 如何回答 MySQL 的事务隔离级别和锁的机制?.md.html'>10 如何回答 MySQL 的事务隔离级别和锁的机制?</a></li>
<li><a href = '\专栏\架构设计面试精讲\11 读多写少MySQL 如何优化数据查询方案?.md.html'>11 读多写少MySQL 如何优化数据查询方案?</a></li>
<li><a href = '\专栏\架构设计面试精讲\12 写多读少MySQL 如何优化数据存储方案?.md.html'>12 写多读少MySQL 如何优化数据存储方案?</a></li>
<li><a href = '\专栏\架构设计面试精讲\13 缓存原理:应对面试你要掌握 Redis 哪些原理?.md.html'>13 缓存原理:应对面试你要掌握 Redis 哪些原理?</a></li>
<li><a href = '\专栏\架构设计面试精讲\14 缓存策略:面试中如何回答缓存穿透、雪崩等问题?.md.html'>14 缓存策略:面试中如何回答缓存穿透、雪崩等问题?</a></li>
<li><a href = '\专栏\架构设计面试精讲\15 如何向面试官证明你做的系统是高可用的?.md.html'>15 如何向面试官证明你做的系统是高可用的?</a></li>
<li><a href = '\专栏\架构设计面试精讲\16 如何从架构师角度回答系统容错、降级等高可用问题?.md.html'>16 如何从架构师角度回答系统容错、降级等高可用问题?</a></li>
<li><a href = '\专栏\架构设计面试精讲\17 如何向面试官证明你做的系统是高性能的?.md.html'>17 如何向面试官证明你做的系统是高性能的?</a></li>
<li><a href = '\专栏\架构设计面试精讲\18 如何从架构师角度回答怎么应对千万级流量的问题?.md.html'>18 如何从架构师角度回答怎么应对千万级流量的问题?</a></li>
<li><a href = '\专栏\架构设计面试精讲\19 彩蛋 互联网架构设计面试,你需要掌握的知识体系.md.html'>19 彩蛋 互联网架构设计面试,你需要掌握的知识体系</a></li>
<li><a href = '\专栏\架构设计面试精讲\结束语 程序员的道、术、势.md.html'>结束语 程序员的道、术、势</a></li>
</ul>
</div>
</div>
<div>
</div>
</div>
</div>
</div>
</div>
<a class="off-canvas-overlay" onclick="hide_canvas()"></a>
</div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194"
integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw=="
data-cf-beacon='{"rayId":"70996b2f083d3d60","version":"2021.12.0","r":1,"token":"1f5d475227ce4f0089a7cff1ab17c0f5","si":100}'
crossorigin="anonymous"></script>
</body>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NPSEEVD756"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-NPSEEVD756');
var path = window.location.pathname
var cookie = getCookie("lastPath");
console.log(path)
if (path.replace("/", "") === "") {
if (cookie.replace("/", "") !== "") {
console.log(cookie)
document.getElementById("tip").innerHTML = "<a href='" + cookie + "'>跳转到上次进度</a>"
}
} else {
setCookie("lastPath", path)
}
function setCookie(cname, cvalue) {
var d = new Date();
d.setTime(d.getTime() + (180 * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires + ";path = /";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
}
return "";
}
</script>
</html>