CS Hiring評価エラーコメント


CS Hiring Assessments
1.エラー問題及び問題の再分析
🔒 01 what is the value of x after running the code below?
NOTE! 我々はreusltではなくxを要求する(問題はxの値である)
let x = 30;

function get(x) {
  return x;
}
function set(value) {
  x = value;
}

set(10);
let result = get(20);

// what is the value of 'x' ?
質問resultではなく、x値を質問しますが、入力した値はresultです.
🔓 もんだいぶんせき
  • set(10)によりx = 10となる.xはletなどとして宣言されていないため、グローバル変数です.let x = 30let x = 10.したがってxの値は10である.
  • 答え:10
    02 What is the value of result after running the code below?
    let x = 10;
    
    function outer() {
      let x = 20;
      function inner() {
        x = x + 10;
        return x;
      }
      inner();
    }
    
    outer();
    let result = x;
    
    // What is the value of `result`?
    🔓 もんだいぶんせきouter関数が実行され、この関数のエンクロージャにx = x + 10が存在します.しかし、これはouterscope内にのみ適用され、グローバルには影響しません.したがって、結果はグローバル変数let x = 1010を直接参照して表される.
    答え:10
    05 What is the result after running the code below
    
    let x = 10;
    let strangeAdd = function(y) {
      let x = 20;
      return this.x + y;
    };
    
    let result = strangeAdd(10);
    🔓 もんだいぶんせき
    問題はstrangeAdd関数のthis.xとは何ですか?から始まる.
    関数ではthisの範囲がwindowを指していることに注意してください.つまり、グローバルだけでなくグローバルも指します.let x = 10はグローバル変数ですが、その範囲はグローバルではないため、ウィンドウオブジェクトにxという値が割り当てられていないため、結果はNaNに戻ります.let x = 10またはx = 10ではなく、ウィンドウ・オブジェクトに宣言させると、result値は20になります.
    答え:NaN
    09 What is the var x = 10 after running the code below
    let obj1 = { x: 10 };
    let obj2 = Object.create(obj1);
    
    let obj3 = Object.create(obj2);
    
    obj2.x = 20;
    
    let result = obj3.x + 10;
    
    answer: 30
    🔓 もんだいぶんせき
    obj 2はobj 1を参照し、obj 3はobj 2を参照する.したがって、result実行前の値は次のようになります.
    obj1.x => 10
    
    obj2.x => 10
    
    obj3.x => 10
    obj2.x = 20実行後、obj 2値を参照するobj 3もその値を変更します.
    obj1.x => 10
    
    obj2.x => 20
    
    obj3.x => 20
    だから、答えは30です.
    答え:30
    11 What is the Big O time complexity for obj2.x = 20 ? *
    🔓 もんだいぶんせき
    問題を分析するとき、「リンクリスト構造でインデックス値を検索するときの時間的複雑さとコストは何ですか?」聞いています.
    LinkedListはシーケンスアクセス方式を採用している.ある要素にアクセスするには、最初から1つの要素に到達するまで順番に検索して検索するので、その要素の数(nの大きさによって)によって時間がかかります.
    したがって,答えは0(n)Linear時間の複雑さを持つといえる.
    答え:O(n)Linear