文章加密

;

2020年4月2日 星期四

TCP, handshake,dns

網域名稱系統(DNS:Domain Name System):

先思考一個有趣的問題,全世界的網址那麼多,一台 DNS 伺服器怎麼可能知道這麼多網址對應的 IP 位址是什麼呢?為了要解決這個問題,我們把全世界所有的網址區分為許多不同的「網域(Domain)」,並且定義了不同的層級

  1. root domain: 根網域是 DNS 架構最上層的伺服器,全球共約 16 台,當下層的任何一台 DNS 伺服器無法查出某個網址對應的 IP 位址時,則會向最上層負責根網域的 DNS 伺服器查詢。一個新網址訪問時,會先到root在一步步往下查詢。
  2. top level domain (TLD)
  3. second level domain
  4. host domain
https://www.stockfeel.com.tw/dns-%E4%BC%BA%E6%9C%8D%E5%99%A8%E6%98%AF%E4%BB%80%E9%BA%BC%EF%BC%9F%E5%A6%82%E4%BD%95%E9%81%8B%E7%94%A8%EF%BC%9F/

handshake:

https://www.chainnews.com/zh-hant/articles/930260468603.htm
 //還沒看 "Handshake 的三大功能 "
https://hsd-dev.org/ 官網
https://www.chainnews.com/zh-hant/articles/452340854508.htm 其他

2020年4月1日 星期三

stack: 栈是一种遵从后进先出(LIFO)原则的有序集合

注意!javascript本身function已經足夠,再建一個stack類與prototype添加function不太必要。
下面僅是利用javascript了解stack,因為本身比較熟javascript
stack用在c++,建構list等等,python應該也有

https://juejin.im/post/5b2323896fb9a00e8f795e5b


leetcode考題
/**
 * Initialize your data structure here.
 */
var MyStack = function() {
this.item=[]
};

/**
 * Push element x onto stack. 
 * @param {number} x
 * @return {void}
 */
MyStack.prototype.push = function(x) {
  this.item.push(x)
};

/**
 * Removes the element on top of the stack and returns that element. 並
* 不是說第一個元素,栈是一种遵从后进先出(LIFO)原则的有序集合,故此處的棧是最後進入的元素
 * @return {number}
 */
MyStack.prototype.pop = function() {
return this.item.pop()
};

/**
 * Get the top element.
 * @return {number}
 */
MyStack.prototype.top = function() {
return this.item[this.item.length-1]
};

/**
 * Returns whether the stack is empty.
 * @return {boolean}
 */
MyStack.prototype.empty = function() {
return this.item.length==0
};

/**
 * Your MyStack object will be instantiated and called as such:
 * var obj = new MyStack()
 * obj.push(x)
 * var param_2 = obj.pop()
 * var param_3 = obj.top()
 * var param_4 = obj.empty()
 */

面試


  1. flex, grid 
  2. 為什麼for迴圈的效能不好?優化他?
  3. for裡面放setTimeout經典題
  4. promise, resolve, reject
  5. capturing, bubbling,
  6. aurhorization, localStorage, cookie

1.
FOUC
http2
html5


2.
會傳到後端
cookie,

不會傳到後端
sessionStorage (不可以跨tab)
localStorage (可以跨tab)

3.
script 會等到資源載完才往下執行

加上async 會載資源的同時解讀下面的code,等資源載完就執行code

defer則是比async再加上要等的頁面document.ready(dom解析完)再執行

4.
為了效能的考量,把css放在head之間,js放在/body之前,是要讓畫面能最先被看見,互動的部分最晚再執行