Aggressive Style 5

読者です 読者をやめる 読者になる 読者になる

Aggressive Style 5

昨今はコミケ関係を中心に書いています。同人やニコニコ動画方面で活躍される方の相互リンクをお待ちしています。

Web系企業の面接で聞かれた7つの質問

就職

Web系の企業の面接で聞かれた7つの質問と、それに対する答え方を復習してみた。皆様の参考になれば幸いだが、質問の回答でここは誤りだ、こう答えた方が良いなどがあったら、コメント又ははてなブックマーク等で意見してくれると嬉しい。

質問1:よく見るor利用するWebサイトは?

質問の目的

面接官が応募者の志向、Webサイトの価値基準やデザインの好みを確認する目的で質問される。

回答の流れ

自分のWebの使い道は、50%情報収集で、50%情報発信かな。余り人とコミュニケーションを取る方向では使わない事が多い。依って情報収集、情報発信に○○のサイトを使っていますと言う旨を話す。

回答例1:gitHub

gitHubです。ブログに公開したいソースコードを貼付けるのに使っています。

回答例2:facebook

facebookです。自分は車が好きなので、Mercedes BenzやFerrariなど欧米企業の最新情報をチェックするのに利用しています。また技術系で気になったブログは「いいね!」を押して、最新の技術にアンテナを張っております。

質問2:どれ位の期間が必要ですか?(納期)

質問の目的

面接官が自分の創作物の納期や期間に関して質問する場合、サイトなどを作るのにどれだけかかるかを知る、あるいは見積もりが立てられるかを試す目的で質問して来る場合が多い。

回答の流れ

どういった部分に何日かかる等細かく切り分けて回答して行く。

回答例

○○と言うページで△△日かかります。このとき、システムに□□日、デザインに○○日かかります

質問3:業務で分からない箇所や言語が出て来たらどうしますか?(開発に対する姿勢)

質問の目的

こういう職業は「ここをどうしたらよいかが分からない」状況に直面する事が多い。こういう状況に対処できるかを試すもの。又社員数が少なかったり、手が離せない業務で教える事が困難な場合に、自分で解決できるかを試す目的で質問される。

回答の流れ

問題に直面した状況(Situation)、自己解決した方法(Action)、その結果どうなったか(Result)の順で簡単に回答していく。

回答例

○○というサイトの改修を依頼されたとき、△△の言語を用いてデーターベースの結果を呼び出す方法が分かりませんでした。そこで△△と言う本を読んで基本を勉強したり、自作アプリを作って学習に努めました。その結果、クエリの結果を無事にデーターベースに反映させる事に成功し、システムは無事に完成しました。(御社の業務でも、分からない事は出来る限り自己解決に努めて行きます)。

質問4:MVCについてご存知ですか?(役割分業のやり方についての質問)

質問の目的

簡単に言えば、会社の方針に沿った作業ができるかを試す目的で質問される。

MVCの主な概要

MVCはシステム全体をModel、View(表示画面)、Controller(表示に伴うロジック)の3つに分けて作業して行く方法の事だ。デザイナーとプログラマーとの分業をやり易くしたり、システムの作り方をメンバー同士で統一する目的で用いられる。従って開発人数が数名以上の場合などに質問される。以下にMVCの各部分の説明を記す。

  • Model:データーベースに関する操作を定義した場所
  • View:サイトのデザインの表示など、ユーザーに直接関わる部分。
  • Controller:Viewから受け取ったフォームのデータを処理したり、Viewに必要なModelの情報のやりとりをする部分。

回答の流れ

MVCの各部分の概要や、簡単に利点とできる事を話していく。

回答例

はい。MVCはデザインとロジックを分離する事が可能なのが利点で、ModelとContorollerの設定が可能です

質問5:オブジェクト指向についてご存知ですか?

質問の目的

Javaなどのオブジェクト指向の基本を押さえられているかを試す問題。会社に依ってはテストの形で、


オブジェクト指向型言語における、クラス、インスタンスメソッド、プロパテイについての意味を答えよ。

と聞かれる場合も多い。

主な概要

上記の4つの意味

  • クラス:複数の処理や変数が一つにまとまったひな形の事。
  • インスタンス:オブジェクト指向プログラミングで、クラスを基にした実際の値としてのデータの事。
  • メソッド:各オブジェクトにおける、それ自身の操作の事。

  • プロパテイ:各オブジェクトの変数にセットされた値の事。

回答の流れ

クラスやインスタンスの概要を軽く話して行く。

回答例

オブジェクト指向はクラスを用いる事で、プログラムを複数の部分に分割して作成する事ができます。テスト用のクラスを作成して、既存のソースに影響を与える事なく機能を追加する事も可能です。又クラスの実体をインスタンスといい、これらを用いてシステムを作成していきます。

質問6:オブジェクト指向の三大要素はご存知ですか?

質問の目的

質問5に同じ。

回答の流れ

自分の場合オブジェクト指向の三大要素を交えながら答えて行く。

回答例

オブジェクト指向は、継承、カプセル化ポリモーフィズムの3つの要素があります。

  • 継承:既存のクラスに追加する形で、サブクラスを定義する事。
  • カプセル化:クラスの変数に修飾子を付ける事により、変数をクラス内に隠蔽でき、外部から操作されにくいようにする事
  • ポリモーフィズム:インターフェースを用いたプログラムを設計。物の価格に置ける仕入れ値、売値の計算を違うクラスに新たに定義することで、既存のクラスに変更を加える事無く追加が可能になります。(デザインパターンにおける、Decoratorパターン)

質問7:Webにおけるセキリュテイに対して知っているものを挙げて下さい

質問の目的

Webのセキリュテイについての理解があるか試す問題。会社に依っては、ソースコードを見る等してセキリュテイを意識しているかを見る事もある。

回答の流れ

セキリュテイについては何種類もあるのだが、自分の場合SQLインジェクションXSS攻撃の概要と対処法について答えて行く。

SQLインジェクション
  • 概要:URLのクエリに不正な文字が入る事で、不正なSQLが実行されてしまう事。
  • 対処法:mysql_escape_string関数などのエスケープ処理を施すなどして、問題が起きないように対処する。

XSS攻撃
  • 概要:URLのクエリに不正なhtmlタグが入ってしまう事で、不正なスクリプトが実行されてしまう事。
  • 対処法:htmlspecialchars関数やstrip_tags関数を使い、不正なタグの取り除きを行って行く。

回答例

セキリュテイの問題としてSQLインジェクションXSS攻撃などがあります。まずSQLインジェクションとは、URLのクエリに不正な文字が入る事で、不正なSQLが実行されてしまう事を言います。対処法は、mysql_escape_string関数などのエスケープ処理を施すなどして、対処していきます。

XSS攻撃はURLのクエリに不正なhtmlタグが入ってしまう事で、不正なスクリプトが実行されてしまうと言うエラーです。対処法は、htmlspecialchars関数やstrip_tags関数を使い、不正なタグの取り除きを行って行きます。

過去記事など

面接官が「何故他社じゃなくてうちの会社なの?」と志望動機を聞く4つの理由