Web
interview
就活

面接などで聞かれた技術系の質問と復習

背景

色々な企業で面接受けていると、技術的な基礎知識を質問されることがあります
初見で答えられない問題があるのは仕方ないですが「2回目は答えられるようにしよう」という気持ちでまとめてみます(随時追加予定)

というか、「これくらい知っておこう」的なメッセージでもあると思うので笑
これに限らず、失敗したことはなるべくその場で学び直していきたいですね

これから技術系で就職活動する方の参考になれば幸いです
Web系に偏っている気がしますがご愛敬w

質問と解答

1. HTTPステータスコードとその意味を出来るだけ答えてください

※HTTPステータスコード
HTTPにおいてWebサーバからのレスポンスの意味を表現する3桁の数字からなるコード

細かいところはWikiに結構まとまってまるので割愛
参考によるとザックリ知っておくべきは以下

A)ステータスコードの番号の意味

ステータスコード 意味 詳細
1xx Informational 情報 リクエストは受け取られた。処理は継続される
2xx Success 成功 リクエストは受け取られ、理解され、受理された
3xx Redirection リダイレクション リクエストを完了させるために、追加的な処理が必要
4xx Client Error クライアントエラー クライアントからのリクエストに誤りがあった
5xx Server Error サーバエラー サーバがリクエストの処理に失敗した

B)よく出るもの

ステータスコード 詳細
200 OK リクエストは成功し、レスポンスとともに要求に応じた情報が返される。ブラウザでページが正しく表示された場合は、ほとんどがこのステータスコードを返している
301 Moved Permanently 恒久的に移動した。リクエストしたリソースが恒久的に移動されているときに返される。Location:ヘッダに移動先のURLが示されている。
302 Found 発見した。301と違ってリクエストしたリソースが一時的に移動されているときに返される。Location:ヘッダに移動先のURLが示されている。
400 Bad Request リクエストが不正である。定義されていないメソッドを使うなど、クライアントのリクエストがおかしい場合に返される。
401 Unauthorized 認証が必要である。Basic認証やDigest認証などを行うときに使用される。たいていのブラウザはこのステータスを受け取ると、認証ダイアログを表示
403 Forbidden 禁止されている。リソースにアクセスすることを拒否された。リクエストはしたが処理できないという意味。アクセス権がない場合や、ホストがアクセス禁止処分を受けた場合などに返される。
404 Not Found 未検出。リソースが見つからなかった。単に、アクセス権がない場合などにも使用される。
500 Internal Server Error サーバ内部エラー。サーバ内部にエラーが発生した場合に返される
503 Service Unavailable サービス利用不可。サービスが一時的に過負荷やメンテナンスで使用不可能である

2. SQLのINNER JOIN と (LEFT/RIGHT) OUTER JOIN の違い

SQL素人でも分かるテーブル結合(inner joinとouter join)
上記の投稿がものすごく分かりやすいので一読しておきましょう

ザックリいうと条件に適合しないカラムを残すかどうかの違いです

3. SQLインジェクションとは?またその対応

Wiki
SQLインジェクションとは、アプリケーションのセキュリティ上の不備を意図的に利用し、アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法

対応策としてはプリペアードステートメントを使用し、入力値を適切にエスケープするなど