弊社新人に出題したクイズのご紹介


# 今年もアドベントカレンダーの季節ですね

---

# 今年は弊社にもたくさんの新人が入りました。

---

# 新人の知識レベルを図りたくて、弊社でよく出てくる用語やプログラムについてのちょっとした事をクイズにして出題してみました。

---

# コレ、知ってる？

---

# ラウンドロビン

---

# ラウンドロビン = 均等負荷分散
## 負荷分散手法のこと

---

![](https://www.infraexpert.com/studygif/loadbalance10.gif)

[参考: https://www.infraexpert.com/study/loadbalancer4.html](https://www.infraexpert.com/study/loadbalancer4.html)

---

# DNSラウンドロビン

---

# DNSサーバーに複数IPに対して均等分配させる機能の事
## 元々はこっちが一般的

---

![](https://www.infraexpert.com/studygif/loadbalance2.gif)

[参考: https://www.infraexpert.com/study/loadbalancer1.html](https://www.infraexpert.com/study/loadbalancer1.html)

---

# スティッキーセッション

---

# リクエストの振り分け先を特定のサーバに紐付けることが出来る機能

---

![](https://image.slidesharecdn.com/20150513aws-blackbelt-elb-150513155105-lva1-app6891/95/aws-blackbelt-2015-elastic-load-balancing-30-638.jpg?cb=1431532375)

[参考: http://blog.serverworks.co.jp/tech/2017/01/05/elb-sticky/](http://blog.serverworks.co.jp/tech/2017/01/05/elb-sticky/)

---

# どの順番でログが出る？

---

```
callback(function () {
	setTimeout(function () {
    	console.log(1);
		return true;
    }, 1000);
});

console.log(0);
callback();
console.log(2);
```

###### Javascript

---

```
0
2
1
```

---

# どの順番でログが出る？

---

```
async function func() {
	console.log(1);
	return await $.ajax.get('/index.json');
	console.log(2);
};

console.log(0);
func().then(res => {
	console.log(res);
});
console.log(3);
```

###### Javascript

---

```
0
3
1
hoge
```

※2は出ませんｗ

---

# GETで配列渡し

---

?arr[0]=1&arr[1]=2&・・・

```
$arr = $_GET['arr'];
if ($arr[0]) {
	echo 'true!';
}
```

###### PHP

---

# コレは正しい？

---

```
class cls {
  public static function func () {
  	echo 'is';
  }
}

$className = 'cls';
$funcName = 'func';
$className::$funcName();
```

###### PHP

---

# 有効な書式

---

```
class cls {
  public static function func () {
  	echo 'is';
  }
}

$className = 'cls';
$funcName = 'func';
$className::$funcName();
```

###### PHP

---

# コレは正しい？

---

```
class cls3 {
  public static function func () {
  	echo 'is';
  }
}

$className = 'cls';
$funcName = 'func';
($className.(1+2))::$funcName();
```

###### PHP

---

# 有効な書式

---

```
class cls3 {
  public static function func () {
  	echo 'is';
  }
}

$className = 'cls';
$funcName = 'func';
($className.(1+2))::$funcName();
```

###### PHP

---

# コレは正しい？

```
echo file_get_contents('./img.png');
setcookie('hoge', 'fuga');

```

###### PHP

---

「Warning: Cannot modify header information - headers already sent by...」
と言うワーニングが出る

![](https://unsolublesugar.com/wp/wp-content/uploads/2013/04/3c240009b15f7e2d585f63c7a63a7f12.png)

[参考:https://unsolublesugar.com/20130419/182635/](https://unsolublesugar.com/20130419/182635/)

---

# こうすれば出来る

---

```
ob_start();

echo file_get_contents('./img.png');

$ob = ob_get_contents()

setcookie('hoge', 'fuga');

ob_end_clean();
echo $ob;

```

###### PHP

---

# コレはどうなる？

```
setcookie('hoge', 'fuga');
echo $_COOKIE['hoge'];
```

###### PHP

---

# 結果は空です

```
```

---

# こうすれば出来る

```
setcookie('hoge', 'fuga');
$_COOKIE['hoge'] = 'fuga';
echo $_COOKIE['hoge'];
```

###### PHP

---

クイズをやってみてたところ意外に中間層にも反応がありました。
ふんわり伝達しているちょっとしたTIPSを広めるのにクイズは中々有効かもなと思いました。(*´ω｀*)

ぜひ御社でもお試し下さいm(_ _)m