TIL 21-03-28

4945 ワード

1.面接問題

  • ブラウザの動作原理を説明してください
    回答=>
    HTMLドキュメントを分割>ブラウザ画面で使いやすい構造に変更>cssファイル分割>レンダリングツリーの構築>レンダリングツリーの配置>レンダリングツリーのペイント(Paint Render Tree)
    スタイル情報とHTML表示規則は、「レンダリングツリー」と呼ばれる別のツリーを生成します.
    画面に表示される位置、サイズ、および図面の順序を保存するには、ツリー構造(レンダリングツリー)が必要です.
    レンダリングエンジンは、すべてのHTMLが分割されるまで待つことなく、展開と描画プロセスを開始するために、できるだけ迅速にコンテンツを表示し、より良いユーザー体験を得ることができます.ネットワークが残りのコンテンツを送信するのを待っている間に、受信したコンテンツの一部を画面に表示します.
    출처 : https://velog.io/@zansol/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80-%EB%8F%99%EC%9E%91%EC%9B%90%EB%A6%AC
  • エンクロージャとは、原理と使用理由を説明してください.
  • 答え=>モジュールは、関数と宣言関数の語彙環境の組合せと見なすことができる.外部関数は、内部関数の戻り値ではなく、内部関数自体を返し、内部関数を変数に格納できます.これにより、関数の変数を非表示にして外部にアクセスできないようにし、カプセル化機能を提供し、関数の使用を簡素化できます.

    2.コードテスト練習->携帯電話のデーモン

    https://programmers.co.kr/learn/courses/30/lessons/1845
    に答える
  • の回答(最適な回答)を定義します.
  • let answer = 0;
  • choose(合計phonket mon mary数)を定義します.
  • //고를수 있는  폰켓몬 마리수는 전체 폰켓몬의 절반
    let choose = nums.length/2;
  • の入出力例から分かるように、重複する要素に加えて、アレイ内で携帯電話のデーモンプロセス(要素)を選択する必要がある.
  • したがって、filterによって同じ値を除去する配列を作成できます.
    let filtered = nums.filter((el,n)=>{
      return nums.indexOf(el)===n}
      )
  • 選択可能な携帯電話番号モンマリー(choose)がフィルタより大きい場合は、フィルタ全体を選択できます.したがって、答えはフィルタの長さです.
    反対に、反対ならいくらでも選べるので、答えは選択です.
  • 再割り当ての答えを返すと、携帯電話のデーモンプロセスの最大選択数が得られます.
    //전체 코드
    function solution(nums) {
        let answer = 0;
        let filtered = nums.filter((el,n)=>{
            return nums.indexOf(el) ===n;
        })
       let choose = nums.length/2
       if(choose>filtered.length){
           answer = filtered.length
       }else{
           answer = choose;
       }
       return answer;
    }