ZiuChen.github.io/article/【字节跳动】前端面试题总结.html

53 lines
55 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>【字节跳动】前端面试题总结 | ZiuChen</title>
<meta name="description" content="Unlimited Progress.">
<meta name="generator" content="VitePress v1.6.3">
<link rel="preload stylesheet" href="/assets/style.CRcg9NyL.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.BD1ReLYx.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.DJcRJiQb.js">
<link rel="modulepreload" href="/assets/chunks/framework.abbEBnpT.js">
<link rel="modulepreload" href="/assets/article_【字节跳动】前端面试题总结.md.3xqbWFJW.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-fd6e12b1><!--[--><!--]--><!--[--><span tabindex="-1" data-v-035c6c82></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-035c6c82>Skip to content</a><!--]--><!----><header class="VPNav" data-v-fd6e12b1 data-v-8de36f3a><div class="VPNavBar" data-v-8de36f3a data-v-aabed93c><div class="wrapper" data-v-aabed93c><div class="container" data-v-aabed93c><div class="title" data-v-aabed93c><div class="VPNavBarTitle has-sidebar" data-v-aabed93c data-v-42321efa><a class="title" href="/" data-v-42321efa><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.png" alt data-v-46f0ba1e><!--]--><span data-v-42321efa>ZiuChen</span><!--[--><!--]--></a></div></div><div class="content" data-v-aabed93c><div class="content-body" data-v-aabed93c><!--[--><!--]--><div class="VPNavBarSearch search" data-v-aabed93c><!--[--><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-aabed93c data-v-2110dbf7><span id="main-nav-aria-label" class="visually-hidden" data-v-2110dbf7> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-2110dbf7 data-v-2329dd8e><!--[--><span data-v-2329dd8e>首页</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-2110dbf7 data-v-8aa6b7c6><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-8aa6b7c6><span class="text" data-v-8aa6b7c6><!----><span data-v-8aa6b7c6>我的项目</span><span class="vpi-chevron-down text-icon" data-v-8aa6b7c6></span></span></button><div class="menu" data-v-8aa6b7c6><div class="VPMenu" data-v-8aa6b7c6 data-v-84ad1129><div class="items" data-v-84ad1129><!--[--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/project/ClipboardManager/" data-v-9dedccb6><!--[--><span data-v-9dedccb6>超级剪贴板</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/project/JSRunner/" data-v-9dedccb6><!--[--><span data-v-9dedccb6>超级JavaScript</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/project/Markdown/" data-v-9dedccb6><!--[--><span data-v-9dedccb6>超级Markdown</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-2110dbf7 data-v-8aa6b7c6><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-8aa6b7c6><span class="text" data-v-8aa6b7c6><!----><span data-v-8aa6b7c6>开源作品</span><span class="vpi-chevron-down text-icon" data-v-8aa6b7c6></span></span></button><div class="menu" data-v-8aa6b7c6><div class="VPMenu" data-v-8aa6b7c6 data-v-84ad1129><div class="items" data-v-84ad1129><!--[--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/works/" data-v-9dedccb6><!--[--><span data-v-9dedccb6>个人作品</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-2110dbf7 data-v-8aa6b7c6><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-8aa6b7c6><span class="text" data-v-8aa6b7c6><!----><span data-v-8aa6b7c6>学习笔记</span><span class="vpi-chevron-down text-icon" data-v-8aa6b7c6></span></span></button><div class="menu" data-v-8aa6b7c6><div class="VPMenu" data-v-8aa6b7c6 data-v-84ad1129><div class="items" data-v-84ad1129><!--[--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/note/JavaScript.html" data-v-9dedccb6><!--[--><span data-v-9dedccb6>JavaScript基础</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/note/CSS.html" data-v-9dedccb6><!--[--><span data-v-9dedccb6>CSS基础</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/note/JavaScriptEnhanced.html" data-v-9dedccb6><!--[--><span data-v-9dedccb6>JavaScript进阶</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/note/Front-end%20Engineering.html" data-v-9dedccb6><!--[--><span data-v-9dedccb6>前端工程化</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/note/SSR.html" data-v-9dedccb6><!--[--><span data-v-9dedccb6>服务端渲染</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/note/React.html" data-v-9dedccb6><!--[--><span data-v-9dedccb6>React基础</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/note/React%20Hooks.html" data-v-9dedccb6><!--[--><span data-v-9dedccb6>React Hooks</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/note/Redux.html" data-v-9dedccb6><!--[--><span data-v-9dedccb6>Redux</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/note/React%20Router.html" data-v-9dedccb6><!--[--><span data-v-9dedccb6>React Router</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/note/MySQL.html" data-v-9dedccb6><!--[--><span data-v-9dedccb6>MySQL</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-84ad1129 data-v-9dedccb6><a class="VPLink link" href="/note/Rust.html" data-v-9dedccb6><!--[--><span data-v-9dedccb6>Rust</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/self/" tabindex="0" data-v-2110dbf7 data-v-2329dd8e><!--[--><span data-v-2329dd8e>个人介绍</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-aabed93c data-v-bb665c4c><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bb665c4c data-v-b40f6ca0 data-v-a6a86428><span class="check" data-v-a6a86428><span class="icon" data-v-a6a86428><!--[--><span class="vpi-sun sun" data-v-b40f6ca0></span><span class="vpi-moon moon" data-v-b40f6ca0></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-aabed93c data-v-b17c0ee5 data-v-0b40a347><!--[--><a class="VPSocialLink no-icon" href="https://github.com/ZiuChen" aria-label="github" target="_blank" rel="noopener" data-v-0b40a347 data-v-146196ab><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://juejin.cn/user/1887205216238477" aria-label target="_blank" rel="noopener" data-v-0b40a347 data-v-146196ab><svg width="36" height="28" viewBox="0 0 36 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.5875 6.77268L21.8232 3.40505L17.5875 0.00748237L17.5837 0L13.3555 3.39757L17.5837 6.76894L17.5875 6.77268ZM17.5863 17.3955H17.59L28.5161 8.77432L25.5526 6.39453L17.59 12.6808H17.5863L17.5825 12.6845L9.61993 6.40201L6.66016 8.78181L17.5825 17.3992L17.5863 17.3955ZM17.5828 23.2891L17.5865 23.2854L32.2133 11.7456L35.1768 14.1254L28.5238 19.3752L17.5865 28L0.284376 14.3574L0 14.1291L2.95977 11.7531L17.5828 23.2891Z" fill="#1E80FF"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-aabed93c data-v-886b34e4 data-v-8aa6b7c6><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-8aa6b7c6><span class="vpi-more-horizontal icon" data-v-8aa6b7c6></span></button><div class="menu" data-v-8aa6b7c6><div class="VPMenu" data-v-8aa6b7c6 data-v-84ad1129><!----><!--[--><!--[--><!----><div class="group" data-v-886b34e4><div class="item appearance" data-v-886b34e4><p class="label" data-v-886b34e4>Appearance</p><div class="appearance-action" data-v-886b34e4><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-886b34e4 data-v-b40f6ca0 data-v-a6a86428><span class="check" data-v-a6a86428><span class="icon" data-v-a6a86428><!--[--><span class="vpi-sun sun" data-v-b40f6ca0></span><span class="vpi-moon moon" data-v-b40f6ca0></span><!--]--></span></span></button></div></div></div><div class="group" data-v-886b34e4><div class="item social-links" data-v-886b34e4><div class="VPSocialLinks social-links-list" data-v-886b34e4 data-v-0b40a347><!--[--><a class="VPSocialLink no-icon" href="https://github.com/ZiuChen" aria-label="github" target="_blank" rel="noopener" data-v-0b40a347 data-v-146196ab><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://juejin.cn/user/1887205216238477" aria-label target="_blank" rel="noopener" data-v-0b40a347 data-v-146196ab><svg width="36" height="28" viewBox="0 0 36 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.5875 6.77268L21.8232 3.40505L17.5875 0.00748237L17.5837 0L13.3555 3.39757L17.5837 6.76894L17.5875 6.77268ZM17.5863 17.3955H17.59L28.5161 8.77432L25.5526 6.39453L17.59 12.6808H17.5863L17.5825 12.6845L9.61993 6.40201L6.66016 8.78181L17.5825 17.3992L17.5863 17.3955ZM17.5828 23.2891L17.5865 23.2854L32.2133 11.7456L35.1768 14.1254L28.5238 19.3752L17.5865 28L0.284376 14.3574L0 14.1291L2.95977 11.7531L17.5828 23.2891Z" fill="#1E80FF"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-aabed93c data-v-d831a329><span class="container" data-v-d831a329><span class="top" data-v-d831a329></span><span class="middle" data-v-d831a329></span><span class="bottom" data-v-d831a329></span></span></button></div></div></div></div><div class="divider" data-v-aabed93c><div class="divider-line" data-v-aabed93c></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-fd6e12b1 data-v-17e59805><div class="container" data-v-17e59805><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-17e59805><span class="vpi-align-left menu-icon" data-v-17e59805></span><span class="menu-text" data-v-17e59805>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-17e59805 data-v-24201ec3><button data-v-24201ec3>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-fd6e12b1 data-v-bac69edd><div class="curtain" data-v-bac69edd></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-bac69edd><span class="visually-hidden" id="sidebar-aria-label" data-v-bac69edd> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-d7ef9b6a><section class="VPSidebarItem level-0" data-v-d7ef9b6a data-v-fe245a14><div class="item" role="button" tabindex="0" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><h2 class="text" data-v-fe245a14>我的项目</h2><!----></div><div class="items" data-v-fe245a14><!--[--><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/project/ClipboardManager/" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>超级剪贴板</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/project/JSRunner/" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>超级JavaScript</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/project/Markdown/" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>超级Markdown</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-d7ef9b6a><section class="VPSidebarItem level-0 collapsible collapsed" data-v-d7ef9b6a data-v-fe245a14><div class="item" role="button" tabindex="0" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><h2 class="text" data-v-fe245a14>开源作品</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe245a14><span class="vpi-chevron-right caret-icon" data-v-fe245a14></span></div></div><div class="items" data-v-fe245a14><!--[--><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/works/" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>个人作品</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-d7ef9b6a><section class="VPSidebarItem level-0 collapsible collapsed has-active" data-v-d7ef9b6a data-v-fe245a14><div class="item" role="button" tabindex="0" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><h2 class="text" data-v-fe245a14>文章归档</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe245a14><span class="vpi-chevron-right caret-icon" data-v-fe245a14></span></div></div><div class="items" data-v-fe245a14><!--[--><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/Vue%20Demi%20%E5%81%9A%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>Vue Demi 做了什么?</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E3%80%902023%E3%80%91%E9%9D%92%E8%AE%AD%E8%90%A5%20-%20%E5%89%8D%E7%AB%AF%E7%BB%83%E4%B9%A0%E9%A2%98%E6%B1%87%E6%80%BB%E8%A7%A3%E6%9E%90.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>【2023】青训营 - 前端练习题汇总解析</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E3%80%90%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>【字节跳动】前端面试题总结</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E3%80%90%E5%BF%AB%E6%89%8B%E3%80%91%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>【快手】深入理解前端面试题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E3%80%90%E7%94%A8%E5%8F%8B%E9%87%91%E8%9E%8D%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>【用友金融】前端面试题总结</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BA%8B%E4%BB%B6%E5%86%92%E6%B3%A1%E4%B8%8E%E4%BA%8B%E4%BB%B6%E6%8D%95%E8%8E%B7.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>一文读懂事件冒泡与事件捕获</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BC%AA%E7%B1%BB%E4%B8%8E%E4%BC%AA%E5%85%83%E7%B4%A0.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>一文读懂伪类与伪元素</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E5%87%BD%E6%95%B0%E4%B8%ADthis%E6%8C%87%E5%90%91%E9%97%AE%E9%A2%98.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>一文读懂函数中this指向问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E4%BB%8E0%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%B9%B4%E5%BA%A6%E6%8A%A5%E5%91%8A.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>从0实现一个年度报告</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E5%BD%BB%E5%BA%95%E6%90%9E%E6%87%82%E5%AF%B9%E8%B1%A1%E7%9A%84%E6%95%B0%E6%8D%AE%E5%B1%9E%E6%80%A7%E6%8F%8F%E8%BF%B0%E7%AC%A6%E3%80%81%E5%AD%98%E5%82%A8%E5%B1%9E%E6%80%A7%E6%8F%8F%E8%BF%B0%E7%AC%A6.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>彻底搞懂对象的数据属性描述符、存储属性描述符</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E6%B5%85%E6%9E%90defineProperty%E4%B8%8EProxy%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%8F%8C%E5%90%91%E7%BB%91%E5%AE%9A.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>浅析defineProperty与Proxy实现的双向绑定</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E6%B7%B1%E5%85%A5JavaScript%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>深入JavaScript数据类型</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E6%B7%B1%E5%85%A5Vue3%E6%BA%90%E7%A0%81%EF%BC%8C%E7%9C%8B%E7%9C%8BVue.use%E5%90%8E%E7%A9%B6%E7%AB%9F%E5%8F%91%E7%94%9F%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>深入Vue3源码看看Vue.use后究竟发生了什么</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3Proxy%E4%B8%8EReflect.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>深入理解Proxy与Reflect</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98%E6%9C%BA%E5%88%B6.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>深入理解浏览器缓存机制</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe245a14 data-v-fe245a14><div class="item" data-v-fe245a14><div class="indicator" data-v-fe245a14></div><a class="VPLink link link" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E6%B5%8F%E8%A7%88%E5%99%A8%E8%BF%90%E8%A1%8C%E5%8E%9F%E7%90%86.html" data-v-fe245a14><!--[--><p class="text" data-v-fe245a14>深入理解浏览器运行原理</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-fd6e12b1 data-v-8e7769f4><div class="VPDoc has-sidebar has-aside" data-v-8e7769f4 data-v-152d3a48><!--[--><!--]--><div class="container" data-v-152d3a48><div class="aside" data-v-152d3a48><div class="aside-curtain" data-v-152d3a48></div><div class="aside-container" data-v-152d3a48><div class="aside-content" data-v-152d3a48><div class="VPDocAside" data-v-152d3a48 data-v-9e31b7f7><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-9e31b7f7 data-v-1bb51deb><div class="content" data-v-1bb51deb><div class="outline-marker" data-v-1bb51deb></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-1bb51deb>On this page</div><ul class="VPDocOutlineItem root" data-v-1bb51deb data-v-a59b5e7a><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-9e31b7f7></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-152d3a48><div class="content-container" data-v-152d3a48><!--[--><!--]--><main class="main" data-v-152d3a48><div style="position:relative;" class="vp-doc _article_%E3%80%90%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93" data-v-152d3a48><div><h1 id="【字节跳动】前端面试题总结" tabindex="-1">【字节跳动】前端面试题总结 <a class="header-anchor" href="#【字节跳动】前端面试题总结" aria-label="Permalink to &quot;【字节跳动】前端面试题总结&quot;"></a></h1><h2 id="看代码说结果" tabindex="-1">看代码说结果 <a class="header-anchor" href="#看代码说结果" aria-label="Permalink to &quot;看代码说结果&quot;"></a></h2><h3 id="代码输出结果1" tabindex="-1">代码输出结果1 <a class="header-anchor" href="#代码输出结果1" aria-label="Permalink to &quot;代码输出结果1&quot;"></a></h3><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">([</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;2&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">].</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">map</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(parseInt))</span></span></code></pre></div><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>[1, NaN, NaN]</span></span></code></pre></div><h3 id="代码输出结果2" tabindex="-1">代码输出结果2 <a class="header-anchor" href="#代码输出结果2" aria-label="Permalink to &quot;代码输出结果2&quot;"></a></h3><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [a </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, b] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> []</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(a, b)</span></span></code></pre></div><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>1 undefined</span></span></code></pre></div><h3 id="代码输出结果3" tabindex="-1">代码输出结果3 <a class="header-anchor" href="#代码输出结果3" aria-label="Permalink to &quot;代码输出结果3&quot;"></a></h3><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">Promise</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">resolve</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> .</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">then</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> Promise</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">resolve</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> .</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">then</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> })</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> .</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">then</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> })</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> })</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> .</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">then</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> })</span></span></code></pre></div><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>1 3 2</span></span></code></pre></div><h3 id="代码输出结果4" tabindex="-1">代码输出结果4 <a class="header-anchor" href="#代码输出结果4" aria-label="Permalink to &quot;代码输出结果4&quot;"></a></h3><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> obj</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, name: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, age: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;age&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Object.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">keys</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(obj))</span></span></code></pre></div><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>[&#39;1&#39;, &#39;2&#39;, &#39;3&#39;, &#39;name&#39;, &#39;age&#39;]</span></span></code></pre></div><h3 id="代码输出结果5" tabindex="-1">代码输出结果5 <a class="header-anchor" href="#代码输出结果5" aria-label="Permalink to &quot;代码输出结果5&quot;"></a></h3><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> myArray </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {}</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">myArray[</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;0&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;a&#39;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">myArray[</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;1&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;b&#39;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">myArray.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">length</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 2</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">...</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">myArray)</span></span></code></pre></div><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span></span></span></code></pre></div><h3 id="代码输出结果6" tabindex="-1">代码输出结果6 <a class="header-anchor" href="#代码输出结果6" aria-label="Permalink to &quot;代码输出结果6&quot;"></a></h3><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">([</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">].</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">splice</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">([</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">].</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">slice</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span></code></pre></div><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>[2, 3]</span></span>
<span class="line"><span>[2]</span></span></code></pre></div><h3 id="代码输出结果7" tabindex="-1">代码输出结果7 <a class="header-anchor" href="#代码输出结果7" aria-label="Permalink to &quot;代码输出结果7&quot;"></a></h3><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">([].</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">constructor</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> ===</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Array)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">typeof</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">===</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;array&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">typeof</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> null</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> ===</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;object&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> instanceof</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Object</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>true</span></span>
<span class="line"><span>false</span></span>
<span class="line"><span>true</span></span>
<span class="line"><span>false</span></span></code></pre></div><h2 id="问答题" tabindex="-1">问答题 <a class="header-anchor" href="#问答题" aria-label="Permalink to &quot;问答题&quot;"></a></h2><h3 id="http缓存的请求头与响应头有哪些" tabindex="-1">HTTP缓存的请求头与响应头有哪些 <a class="header-anchor" href="#http缓存的请求头与响应头有哪些" aria-label="Permalink to &quot;HTTP缓存的请求头与响应头有哪些&quot;"></a></h3><ul><li>强制缓存 <ul><li>响应头: Expires 与 Cache-Control</li><li>Expires 绝对时间</li><li>Cache-Control 相对时间</li></ul></li><li>协商缓存 <ul><li>响应头: Etag 请求头: If-Non-Match</li><li>响应头: Last-Modified 请求头: If-Modified-Since</li></ul></li></ul><h3 id="宏任务与微任务有哪些区别-简述他们的应用场景" tabindex="-1">宏任务与微任务有哪些区别?简述他们的应用场景 <a class="header-anchor" href="#宏任务与微任务有哪些区别-简述他们的应用场景" aria-label="Permalink to &quot;宏任务与微任务有哪些区别?简述他们的应用场景&quot;"></a></h3><p>宏任务与微任务优先级不同</p><ul><li>先执行同步代码,后执行异步代码</li><li>主线程代码执行完毕后,检查微任务队列是否为空,非空则优先执行微任务</li><li>每次执行宏任务之前,都会检查微任务队列是否为空,非空则优先执行微任务</li></ul><p>常见的宏任务与微任务</p><ul><li>宏任务 <code>script</code> <code>setTimeout</code> <code>setInterval</code> <code>postMessage</code> <code>MessageChannel</code> <code>setImmediate (NodeJS)</code></li><li>微任务 <code>Promise.then</code> <code>Object.observe</code> <code>MutationObserver</code> <code>process.nextTick (NodeJS)</code></li></ul><h2 id="算法" tabindex="-1">算法 <a class="header-anchor" href="#算法" aria-label="Permalink to &quot;算法&quot;"></a></h2><p>中文数字转为阿拉伯数字</p><p>给定一个字符串,返回该字符串的所有组合</p><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">输入 abc </span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">输出 [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;abc&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;acb&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;bac&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;bca&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;cab&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;cba&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span></code></pre></div><p>回溯算法</p></div></div></main><footer class="VPDocFooter" data-v-152d3a48 data-v-7dccd6b5><!--[--><!--]--><div class="edit-info" data-v-7dccd6b5><div class="edit-link" data-v-7dccd6b5><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/article/【字节跳动】前端面试题总结.md" target="_blank" rel="noreferrer" data-v-7dccd6b5><!--[--><span class="vpi-square-pen edit-link-icon" data-v-7dccd6b5></span> Edit this page on GitHub<!--]--></a></div><div class="last-updated" data-v-7dccd6b5><p class="VPLastUpdated" data-v-7dccd6b5 data-v-a462baf3>Updated Date: <time datetime="2025-08-02T05:12:13.000Z" data-v-a462baf3></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-7dccd6b5><span class="visually-hidden" id="doc-footer-aria-label" data-v-7dccd6b5>Pager</span><div class="pager" data-v-7dccd6b5><a class="VPLink link pager-link prev" href="/article/%E3%80%902023%E3%80%91%E9%9D%92%E8%AE%AD%E8%90%A5%20-%20%E5%89%8D%E7%AB%AF%E7%BB%83%E4%B9%A0%E9%A2%98%E6%B1%87%E6%80%BB%E8%A7%A3%E6%9E%90.html" data-v-7dccd6b5><!--[--><span class="desc" data-v-7dccd6b5>Previous page</span><span class="title" data-v-7dccd6b5>【2023】青训营 - 前端练习题汇总解析</span><!--]--></a></div><div class="pager" data-v-7dccd6b5><a class="VPLink link pager-link next" href="/article/%E3%80%90%E5%BF%AB%E6%89%8B%E3%80%91%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98.html" data-v-7dccd6b5><!--[--><span class="desc" data-v-7dccd6b5>Next page</span><span class="title" data-v-7dccd6b5>【快手】深入理解前端面试题</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-fd6e12b1 data-v-f2508a02><div class="container" data-v-f2508a02><p class="message" data-v-f2508a02>Released under the MIT License.</p><p class="copyright" data-v-f2508a02>Copyright © 2022-PRESENT ZiuChen</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"article_vue demi 做了什么?.md\":\"BBo2yIg5\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"Bk1uFLes\",\"article_【字节跳动】前端面试题总结.md\":\"3xqbWFJW\",\"article_【快手】深入理解前端面试题.md\":\"CRzeg11s\",\"article_【用友金融】前端面试题总结.md\":\"BrYvxc06\",\"article_一文读懂事件冒泡与事件捕获.md\":\"CiK30UkR\",\"article_一文读懂伪类与伪元素.md\":\"DMjnu6-B\",\"article_一文读懂函数中this指向问题.md\":\"BpEbHczO\",\"article_从0实现一个年度报告.md\":\"CPkcQTqv\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"CQ8gIqRd\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"BoqGnt5C\",\"article_深入javascript数据类型.md\":\"CEJYZgOi\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"Cdu_58a-\",\"article_深入理解proxy与reflect.md\":\"Ceyp9mO-\",\"article_深入理解浏览器缓存机制.md\":\"C2VWJ1u6\",\"article_深入理解浏览器运行原理.md\":\"CWlX-iCy\",\"demos_promiseify-post-message_index.md\":\"B3VIkBdQ\",\"demos_promiseify-post-message_inner.md\":\"BioPm91v\",\"index.md\":\"g8OMvjF8\",\"note_css.md\":\"Ch-yDv1h\",\"note_front-end engineering.md\":\"BimCnMEM\",\"note_javascript.md\":\"Ck0DbU3f\",\"note_javascriptenhanced.md\":\"BXDzvmnS\",\"note_mysql.md\":\"VvYSA8NO\",\"note_react hooks.md\":\"xuWf-omq\",\"note_react router.md\":\"BfpPNEWT\",\"note_react.md\":\"D4edxjhk\",\"note_redux.md\":\"BhtzfWlB\",\"note_rust.md\":\"CKKauEi-\",\"note_ssr.md\":\"FDfCOI__\",\"project_clipboardmanager_guide_index.md\":\"b4hI69eN\",\"project_clipboardmanager_index.md\":\"CVpyvTGY\",\"project_clipboardmanager_log_index.md\":\"CWT_DO0g\",\"project_clipboardmanager_statement_index.md\":\"DJW_YE7h\",\"project_jsrunner_index.md\":\"DzAEKsSB\",\"project_jsrunner_log_index.md\":\"CSI4Ului\",\"project_markdown_index.md\":\"CyMCNCOd\",\"project_markdown_log_index.md\":\"CuKs4PXU\",\"project_markdown_shortcut_index.md\":\"B5_1LKLS\",\"self_index.md\":\"BWWTarHM\",\"works_index.md\":\"CDuGKFmo\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"ZiuChen\",\"description\":\"Unlimited Progress.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"/logo.png\",\"nav\":[{\"text\":\"首页\",\"link\":\"/\"},{\"text\":\"我的项目\",\"items\":[{\"text\":\"超级剪贴板\",\"link\":\"/project/ClipboardManager/\"},{\"text\":\"超级JavaScript\",\"link\":\"/project/JSRunner/\"},{\"text\":\"超级Markdown\",\"link\":\"/project/Markdown/\"}]},{\"text\":\"开源作品\",\"items\":[{\"text\":\"个人作品\",\"link\":\"/works/\"}]},{\"text\":\"学习笔记\",\"items\":[{\"text\":\"JavaScript基础\",\"link\":\"/note/JavaScript\"},{\"text\":\"CSS基础\",\"link\":\"/note/CSS\"},{\"text\":\"JavaScript进阶\",\"link\":\"/note/JavaScriptEnhanced\"},{\"text\":\"前端工程化\",\"link\":\"/note/Front-end Engineering\"},{\"text\":\"服务端渲染\",\"link\":\"/note/SSR\"},{\"text\":\"React基础\",\"link\":\"/note/React\"},{\"text\":\"React Hooks\",\"link\":\"/note/React Hooks\"},{\"text\":\"Redux\",\"link\":\"/note/Redux\"},{\"text\":\"React Router\",\"link\":\"/note/React Router\"},{\"text\":\"MySQL\",\"link\":\"/note/MySQL\"},{\"text\":\"Rust\",\"link\":\"/note/Rust\"}]},{\"text\":\"个人介绍\",\"link\":\"/self/\"}],\"sidebar\":[{\"text\":\"我的项目\",\"items\":[{\"text\":\"超级剪贴板\",\"link\":\"/project/ClipboardManager/\"},{\"text\":\"超级JavaScript\",\"link\":\"/project/JSRunner/\"},{\"text\":\"超级Markdown\",\"link\":\"/project/Markdown/\"}]},{\"text\":\"开源作品\",\"collapsed\":true,\"items\":[{\"text\":\"个人作品\",\"link\":\"/works/\"}]},{\"text\":\"文章归档\",\"collapsed\":true,\"items\":[{\"text\":\"Vue Demi 做了什么?\",\"link\":\"/article/Vue Demi 做了什么?.md\"},{\"text\":\"【2023】青训营 - 前端练习题汇总解析\",\"link\":\"/article/【2023】青训营 - 前端练习题汇总解析.md\"},{\"text\":\"【字节跳动】前端面试题总结\",\"link\":\"/article/【字节跳动】前端面试题总结.md\"},{\"text\":\"【快手】深入理解前端面试题\",\"link\":\"/article/【快手】深入理解前端面试题.md\"},{\"text\":\"【用友金融】前端面试题总结\",\"link\":\"/article/【用友金融】前端面试题总结.md\"},{\"text\":\"一文读懂事件冒泡与事件捕获\",\"link\":\"/article/一文读懂事件冒泡与事件捕获.md\"},{\"text\":\"一文读懂伪类与伪元素\",\"link\":\"/article/一文读懂伪类与伪元素.md\"},{\"text\":\"一文读懂函数中this指向问题\",\"link\":\"/article/一文读懂函数中this指向问题.md\"},{\"text\":\"从0实现一个年度报告\",\"link\":\"/article/从0实现一个年度报告.md\"},{\"text\":\"彻底搞懂对象的数据属性描述符、存储属性描述符\",\"link\":\"/article/彻底搞懂对象的数据属性描述符、存储属性描述符.md\"},{\"text\":\"浅析defineProperty与Proxy实现的双向绑定\",\"link\":\"/article/浅析defineProperty与Proxy实现的双向绑定.md\"},{\"text\":\"深入JavaScript数据类型\",\"link\":\"/article/深入JavaScript数据类型.md\"},{\"text\":\"深入Vue3源码看看Vue.use后究竟发生了什么\",\"link\":\"/article/深入Vue3源码看看Vue.use后究竟发生了什么.md\"},{\"text\":\"深入理解Proxy与Reflect\",\"link\":\"/article/深入理解Proxy与Reflect.md\"},{\"text\":\"深入理解浏览器缓存机制\",\"link\":\"/article/深入理解浏览器缓存机制.md\"},{\"text\":\"深入理解浏览器运行原理\",\"link\":\"/article/深入理解浏览器运行原理.md\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/ZiuChen\"},{\"icon\":{\"svg\":\"<svg width=\\\"36\\\" height=\\\"28\\\" viewBox=\\\"0 0 36 28\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M17.5875 6.77268L21.8232 3.40505L17.5875 0.00748237L17.5837 0L13.3555 3.39757L17.5837 6.76894L17.5875 6.77268ZM17.5863 17.3955H17.59L28.5161 8.77432L25.5526 6.39453L17.59 12.6808H17.5863L17.5825 12.6845L9.61993 6.40201L6.66016 8.78181L17.5825 17.3992L17.5863 17.3955ZM17.5828 23.2891L17.5865 23.2854L32.2133 11.7456L35.1768 14.1254L28.5238 19.3752L17.5865 28L0.284376 14.3574L0 14.1291L2.95977 11.7531L17.5828 23.2891Z\\\" fill=\\\"#1E80FF\\\"/></svg>\"},\"link\":\"https://juejin.cn/user/1887205216238477\"}],\"editLink\":{\"pattern\":\"https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/:path\",\"text\":\"Edit this page on GitHub\"},\"footer\":{\"message\":\"Released under the MIT License.\",\"copyright\":\"Copyright © 2022-PRESENT ZiuChen\"},\"lastUpdatedText\":\"Updated Date\",\"search\":{\"provider\":\"algolia\",\"options\":{\"appId\":\"LFZ2CPWWUG\",\"apiKey\":\"b4fd296ea5e467b3ac4a582160ff3122\",\"indexName\":\"ziuchenio\"}}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
</body>
</html>