1. 程式人生 > 實用技巧 >校招筆試整理 牛客網 2020小米校招(1)

校招筆試整理 牛客網 2020小米校招(1)

前端 筆試 選擇 牛客網 2020小米校招(1)

2020小米校招

localStorage和cookie

  • 在現代瀏覽器中, cookie可以在跨域請求中被攜帶在請求頭中
  • localStorage被設定後, 除非被清除, 否則永久有效

字串拼接

console.log('5' + 3, 5 + '3')

53 53

隱藏

  • display:none , 不佔用文件流
  • visibility: hidden, 佔用文件流
  • opcity:0 , 對應的元素的事件聽監聽器還會觸發

選擇下一個兄弟節點p元素

div + p

打包構建前端專案

  • gulp
  • grunt
  • webpack
  • rollup

二叉樹遍歷

前序遍歷:
CABEFDHG

中序遍歷為:
BAFECHDG

後續?
BFEAHGDC

前序遍歷:根-左-右
中序遍歷:左-根-右
後序遍歷:左-右-根

在一個二叉樹的前序遍歷中,第一個元素即為根節點對應的節點值
在中序遍歷中,根節點將序列分為前後兩個部分,前部分為左子樹的中序序列,後部分為右子樹的中序序列.

所以根節點為C,左子樹為ABEF,右子樹為DHG

時間複雜度

以下哪種排序演算法的最壞時間複雜度可以做到O(n *log(n))?

遞迴排序
快速排序
氣泡排序
插入排序

遞迴排序

Linux作業系統的Cron服務用於

管理系統日常任務的排程

TCP/IP, UDP, HTTO

  • UDP是面向無連線的, 不可靠的資料報服務
  • TCP是面向連線的, 可靠的位元組流服務
  • HTTP是應用層協議

HTTP協議中, 請求永久重定向的狀態碼為

301

  • 301 永久重定向

  • 302 臨時重定向

  • 304 資源未改變

  • 401 沒有訪問許可權, 需要身份認證

  • 1XX 正在請求,

  • 2XX 200 相應成功

  • 3XX 重定向

  • 403 許可權不夠

  • 405 請求方法不被允許

  • 5XX 500 伺服器程式碼錯誤

使用git不小心commit了, 如何恢復到上一狀態

git reset --soft HEAD^

git reset HEAD --soft 回撤提交到暫存區
git reset HEAD --hard 回撤提交 放棄變更(慎用)
git checkout 分支名 檢出分支
git revert HEAD 撤銷最近一次提交, git revert命令意思是撤銷某次提交. 它會產生一個新的提交, 雖然程式碼回退了, 但是版本依然是向前的

那些正則會匹配字串"b"

  • /^b$/
  • /^b\b/
  • /[\b]*b/

"\b"元字元只匹配一個位置, 這個位置是單詞的分界符

事件的冒泡/捕獲

<div id="box1">
<div id="box2">
 content
</div>
</div>
<script>
const $ = document.querySelector.bind(document);
const box1 = $('#box1');
const box2 = $('#box2');
box1.addEventListener('click', () => {
console.log('box1 true');
}, true);
box1.addEventListener('click', () => {
console.log('box1 false');
}, false);
box2.addEventListener('click', () => {
console.log('box2 true');
}, true);
box2.addEventListener('click', () => {
console.log('box2 false');
}, false);
</script>

執行結果:

box1 true, box2 true, box2 false, box1 false

由外向內捕獲, 由內向外冒泡

事件捕獲

捕獲型事件(event capturing):
事件從最不精準的物件(document物件)開始觸發, 然後到最精確(也可以在視窗級別捕獲事件, 不過必須由開發人員特別指定)

事件冒泡

冒泡型事件:
事件按照從最特定的事件目標到最不特定的事件目標(document物件)的順序觸發.

addEventListener(type, callback, useCapture)
ture表示在事件捕獲時觸發

事件的觸發階段:
事件捕獲->事件冒泡