はじめに
面接で聞かれそうな初歩的な質問内容について少ないながらまとめました。
質問内容
Rubyと他のプログラミング言語の違いを説明してください
私が思うに以下の点をあげることができれば問題ないかと思います。
- 国産のプログラム言語のため日本語文献が多いこと
- 記述量が少なくてソースコードの可読性に優れ、保守性の高いプログラムを制作することができること
- RubyはPHPやPerlとは違い、初期のリリース時からオブジェクト指向が考慮されていた純粋なオブジェクト指向言語
- スクリプト言語のためJavaやC言語と違いコンパイルする必要がないこと
オブジェクト指向とはどんなものか
難しい言い方はたくさんあるかと思いますが、自身も理解できてない状態なのであれば以下のように初心者に説明するつもりで伝えるといいのではないかと思います。
「オブジェクトとは、ざっくりいえばデータとメソッドをまとめたもので、これらを使い「モノ」を組み立てるように表現して、コンピュータを動作させて動かすプログラミングの概念」と言えばいいのではないでしょうか。
正確な100点であると言うより自分なりの理解を示し、それがおおよそ正解していることが重要なのではと感じます。
Cookieが何かで仕組みについて教えてください
Cookie(クッキー)は、Webページなどで、ブラウザに情報を保存するための仕組みの1つです。
クライアントコンピュータが、あるWebサーバーに初めて接続した際に、Webサーバーがクライアントコンピュータの中に、そのWebサーバー専用のCookieファイルを作成し、次回、クライアントコンピュータが同じWebサーバーに接続したときには、WebブラウザがそのCookieをWebサーバーに送信するといった仕組みをとります。
クラスとインスタンスの違いを教えてください
クラスはインスタンスの元となる雛形のことであり、インスタンスはクラスから作成された実体のことです。車でいうと、設計図がクラスで車そのものがインスタンスにあたります。
アプリケーションサーバーとWebサーバーの違いはなんですか
Webサーバはブラウザからリクエストを受け取ったり、レスポンスを返したりします。一方、アプリケーションサーバーは、そうしたリクエストに対して作成したプログラムを実際に動かすサーバーです。ただの静的なコンテンツだけの表示であればアプリケーションサーバーは必要としません。
バブルソートとはなんですか?簡単に説明してください
隣り合う要素の大小比較と並べ替えを繰り返すことで、全体を並べ替えるやり方で、並んだものを降順あるいは昇順に並び替えます。
おわりに
簡単にまとめました。
これが絶対に正解というわけではないのでご注意ください!!
また、もっとこうした方がいいといったアドバイス等がございましたらご指摘くださると幸いです