おかえり!
ブログ友達の皆さん、ようこそ。この記事では、40 を超える OOPS 面接の質問と回答を例とともに紹介します。この質問は、プログラミング面接中に面接官が OOP に関連する質問をするときに役立ちます。ご興味がございましたら、今後ともご注目ください。コンテンツが気に入っていただけましたら、開発者の友人と共有してください。
オブジェクト指向プログラミングの基本概念
完全な形がオブジェクト指向プログラミングである OOP は、プログラミングにとって非常に高度なトピックであり、モジュール性を強制するカプセル化、継承パスなどの多くの機能を備えていますが、概念は OOP 継承、カプセル化、ポリモーフィズムの 4 つだけです。データの抽象化とそのすべては基本であり、面接中に学ぶことが非常に重要です。
これらについて知らなければ、面接に落ちてしまう可能性があり、Microsoft、Google、Adobe、その他の大手テクノロジー企業など、夢のような企業で働く機会を得られなくなる可能性があります。 .
また、面接に臨む前にオブジェクト指向プログラミングの準備をしておくことをお勧めします。面接では、面接官が「OOP とは何ですか?」などのオブジェクト指向プログラミングに関連した質問をされる可能性が非常に高いためです。なぜ必要なのですか?など
そこで、あなたのためだけに、面接中に聞かれる可能性の高い質問を 40 個以上見つけました。そして最も素晴らしいのは、質問とともに面接中に言える答えも提供していることです。あなたのインタビュー。
1) コンストラクターとは何ですか? Java には何種類のコンストラクターがありますか?
Java のコンストラクターは、オブジェクトが初期化されるときに使用される特別なメソッドですが、その主な目的は、クラス内のオブジェクトのデータ フィールドを使用前に初期化することです。 Java メソッドとは異なり、コンストラクターはクラスと同じ名前を持ち、戻り値の型を持ちません。
例 -
パブリック クラス MyClass{
//コンストラクター
MyClass(){
システム。 out.println("Oracle.com");
}
public static void main(String args[]){
MyClass obj = new MyClass();
//
}
}
2) OOP 以外のプログラミング パラダイムは何ですか?
OOP 以外のプログラミング パラダイムは主に 4 つあります -
- 命令型プログラミング パラダイム (最良の例 - C、Java、Pascal) など。
- 論理プログラミング パラダイム (最良の例 - Datalog および ASP (Answer Set Programming)) など。
- オブジェクト指向プログラミング パラダイム (最良の例 - C、C#、PERL、RUBY) など。
- 関数型プログラミングのパラダイム (最良の例 - Python、Haskell、Lisp、Erlang) など。
3) SOPとは何ですか?
SOP の完全な形式は構造プログラミングです。これは、コンピュータ プログラムの明瞭さ、品質、開発時間の向上を目的としたプログラミング パラダイムであり、それらを向上させるために、選択 (if/then/else) と繰り返し (while および for )、ブロックなどを使用できるため、OOP よりも学習が容易になり、作成に必要な時間が短くなります。簡単に言えば、必要に応じてプログラムに論理構造を提供することを目的としています。
4) OOP と SOP の違いは何ですか?
面接中に OOP と SOP の間にはいくつかの違いがあります。両者の 5 つの違いを学ぶと良いでしょう -
- SOP のデータは OOP のデータほど安全ではありません
- SOP でコードを再利用するのは難しいですが、OOP でコードを再利用するのは簡単です
- OOP にはプライベート、パブリック、プロテクトなど 3 種類のアクセス指定子がありますが、SOP にはアクセス指定子はありません
- SOP は OOP よりもコードを学習するのが簡単です。
- SOP はコードを関数またはモジュールに分割しますが、Java はフィールドの形式のデータとプロシージャの形式のコードを含むオブジェクトの概念に基づいて動作します。
5) コンパイル時ポリモーフィズムと実行時ポリモーフィズムの違いを教えてください。
両者の違いは、コンパイル時ポリモーフィズムは静的バインディングを通じて実現でき、実行時ポリモーフィズムは動的バインディングを通じて実現できることです。それらのもう 1 つの違いは、コンパイル時にはポリモーフィズムの継承が関与するのに対し、実行時にはポリモーフィズムの継承が関与しないことです。
6) カプセル化の意味を教えてください。
sumlogic.com によると、これは、ユーザーが特定のオブジェクトのすべての変数の状態値を取得できないように、オブジェクトの一部のコンポーネントへの直接アクセスを制限する方法です。
8) コンストラクターとは何ですか?
(OOP) オブジェクト指向プログラミングでは、その型の新しく作成されたオブジェクトを初期化するクラスまたは構造体の特別なメソッドです。したがって、それはコンストラクターと呼ばれます。
7) クラスとは何ですか?
TechTarget の Web サイトによると、特定の種類のオブジェクトのメソッドと変数のテンプレート定義が記載されています。したがって、変数ではなく実際の値を持ち、そのためオブジェクトはクラスの特定のインスタンスであり、それが真です。
9) 抽象化とは何ですか?
抽象化には、アプリの詳細を外部から隠すことが含まれます。簡単に言えば、名前、コード、画像などのアプリの詳細を他の人から隠します。
10) ポリモーフィズムとは何ですか?
ポリモーフィズムは、オブジェクト指向プログラミングの世界において重要なトピックです。簡単に言うと、様々な形で何度も発生する状況です。
11) OOP がこれほど人気があるのはなぜですか?
おっと、非常に簡単な方法で問題を解決し、ユーザーや政府をさまざまな方法で支援するため、現時点では非常に人気があります。
12) 継承の意味を教えてください。
あるクラスが別のクラスのプロパティを使用することは、継承として知られており、最初のクラスが別のオブジェクトに基づいているため、同様の実装がある場合に発生します。
13) 構造化プログラミングの意味を教えてください。
構造化プログラミングはモジュラー プログラミングとも呼ばれ、プログラムの作成が容易になり、プロジェクトの開発に読みやすく再利用可能なコードを使用するのに役立ちます。
14) オブジェクトとは何ですか?
これらは、プログラムを設計するときに最初に思い浮かぶものであり、オブジェクトと呼ばれるプロセスから最終的に派生するコードの単位でもあります。
15) クラスからオブジェクトを作成する必要は常にありますか?
はい、オブジェクトがなければクラスからオブジェクトを作成できません。
16) 最も重要なオブジェクト指向プログラミング言語を教えてください。
Java は最も重要なオブジェクト指向プログラミング言語です。
17) OOP の意味を教えてください。
OOP の意味はオブジェクト指向プログラミングです。複数の言語に対応しており、作業が簡単になります。
18) クラスはどれくらいのメモリを使用しますか?
クラスはメモリ空間を占有しません。
20) OOP の主な機能を教えてください。
OOP の機能は継承です。
21) OOP の必要性について教えてください。
OOP の必要性は、いくら強調しても強調しすぎることはありません。それは、OOP がコードを整理して再利用性を最大限に高める方法であるため、非常に重要です。これにより作業が容易になり、Java、C、C などの言語を使用してアプリやゲームを作成するなど、多くの分野で言語の形で使用され、ユーザーと対話できるオブジェクトを含めることができます。
22) C はどのようにポリモーフィズムをサポートしていますか?
C では、ポリモーフィズムは、同じ機関が異なる状況に対して別の方法で動作することを意味します。
23) クラスとは何ですか?
Brilliant.org によると、クラスはオブジェクトを作成するための青写真です。これは状態と動作の実装に初期値を提供します。また、非常に重要な主題であるにもかかわらず、知っておくべき OOP の非常に基本的な事項でもあります。
24) 構造物とは何ですか?
ques10.com によると、構造体は同じまたは異なるデータ型の変数のコレクションにすぎません。これにはクラス、オブジェクトなどが含まれます。
25) OOP の主な機能は何ですか?
オブジェクト指向プログラミングには 3 つの主な特徴があります。それはポリモーフィズム、カプセル化、継承です。
26) クラスと構造体の違いは何ですか?
この質問については、主な違いが 2 つ挙げられます -
- 構造体は値型であり、クラスは参照型です。
- 構造体はスタック割り当てを使用し、クラスはヒープ割り当てを使用します。
27) OOP の概念に基づいて動作するプログラミング言語をいくつか挙げてください。
Java、Python、C は、OOP の概念に基づいて動作する言語の一部です。
28) インスタンスを作成せずに基本クラスのメソッドを呼び出すことはできますか?
この場合、インスタンスを作成せずに静的メソッドを呼び出すことができます。したがって、これによれば、はい、それができます。
29) 相続にはどのような種類がありますか?
OOPS には 3 つのタイプの継承があります -
- 単一継承
- マルチレベルの継承
- 多重継承
30) 複数および多レベルの継承とは何ですか?またそれらを区別しますか?
多重継承は、オブジェクトまたはクラスが複数の親オブジェクトまたは親クラスから特性を受け取ることを可能にする一部のオブジェクト指向プログラミング言語の機能ですが、多重レベル継承では複数のクラスが参加します。
31) スーパークラスとはどういう意味ですか?
サブクラスの元となった OOP のクラスはスーパークラスと呼ばれます。
32) サブクラスとは何ですか?
他のクラスから派生したクラスであり、サブクラスと呼ばれます。
33) 継承の制限は何ですか?
この質問に対して、3 つの欠点 -
について言えます。- 不適切に使用すると、コーディング関連の問題に対する間違った答えが得られる可能性があります。
- メモリの浪費につながる可能性があります。
- 基本クラスは、コード内の他のすべての子クラスに影響します。
34) Java は完全に純粋な OOP 言語ですか?
いいえ、完全に純粋な OOP 言語ではありません。ただし、OOP 言語の 4 つの柱すべてをサポートしています。
35) メソッドのオーバーロードとは何ですか?
メソッドのオーバーロードは、オブジェクト指向プログラミングにおけるポリモーフィズムの一種です。
36) メソッドのオーバーライドとは何ですか?
サブクラスまたは子クラスが、そのスーパークラスまたは親クラスの 1 つがすでに提供しているメソッドの特定の実装を提供できるようにする言語機能。
37) オーバーロードとオーバーライドの違いは何ですか?
面接官がこの質問をした場合、3 つの基本的な違いを言うことができます -
- メソッドのオーバーロードは同じクラス内でのみ可能ですが、メソッドのオーバーライドは派生クラスで可能です。
- メソッドのオーバーロードは静的バインディングとも呼ばれ、メソッドのオーバーライドは動的バインディングとも呼ばれます。
- メソッドのオーバーロードはコンパイル時のポリモーフィズムを適用するために使用され、メソッドのオーバーライドは実行時のポリモーフィズムを適用するために使用されます。
38) 抽象クラスとは何ですか?
抽象クラスは、少なくとも 1 つの抽象メソッドを含むクラスのタイプです。
39) 抽象クラスを実現するにはどのような方法がありますか?
Java の抽象クラスは 2 つに分類できます -
- 部分的な抽象化の達成
- 具体的なメソッドを実装することで実現できます。
- 完全な抽象化の達成 - クラスの動作を定義する抽象型を持つインターフェイスを使用することで達成できます。
抽象クラスを実現するには、覚えておくべき点がいくつかあります -
- 抽象クラスを定義するには、abstract キーワードを使用する必要があります。
- 抽象技術と非抽象技術の両方をサポートできます。
- 作成できません。
- コンストラクターや静的関数を含めることもできます。
- サブクラスがメソッド本体を変更しないことを要求する Final メソッドを持つことができます。
39) 静的ポリモーフィズムと動的ポリモーフィズムとは何ですか?
静的ポリモーフィズムはコンパイル時にメソッドを呼び出すための情報を収集するポリモーフィズムの一種であり、動的ポリモーフィズムは実行時にメソッドを呼び出すための情報を収集するポリモーフィズムの一種です。
40) 「アクセス指定子」とは何ですか?
アクセス指定子は、クラスの属性とメソッドにアクセスする方法を定義します。
41) インターフェースとは何ですか?
ユタ大学によると、インターフェースとは、コンピューターがオブジェクトに特定の特性を課すことを可能にするプログラミング構造/構文です。 (クラス)。
結論
この投稿では、面接官が面接で尋ねる可能性のあるすべての重要な質問とその答えを説明しました。私たちは、回答が短く、的を射たものになるように努めてきました。したがって、私たちのコンテンツを気に入っていただき、私たちの取り組みに感謝していただけましたら、ぜひ私たちの投稿を開発者の友人と共有してください。
以上がOOPS 面接のトップ質問と 5 つの回答の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

このチュートリアルでは、カスタムGoogle検索APIをブログまたはWebサイトに統合する方法を示し、標準のWordPressテーマ検索関数よりも洗練された検索エクスペリエンスを提供します。 驚くほど簡単です!検索をyに制限することができます

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

この記事シリーズは、2017年半ばに最新の情報と新鮮な例で書き直されました。 このJSONの例では、JSON形式を使用してファイルに単純な値を保存する方法について説明します。 キー価値ペア表記を使用して、あらゆる種類を保存できます

楽なWebページレイアウトのためにjQueryを活用する:8本質的なプラグイン jQueryは、Webページのレイアウトを大幅に簡素化します。 この記事では、プロセスを合理化する8つの強力なjQueryプラグイン、特に手動のウェブサイトの作成に役立ちます

コアポイント これは通常、メソッドを「所有」するオブジェクトを指しますが、関数がどのように呼び出されるかに依存します。 現在のオブジェクトがない場合、これはグローバルオブジェクトを指します。 Webブラウザでは、ウィンドウで表されます。 関数を呼び出すと、これはグローバルオブジェクトを維持しますが、オブジェクトコンストラクターまたはそのメソッドを呼び出すとき、これはオブジェクトのインスタンスを指します。 call()、apply()、bind()などのメソッドを使用して、このコンテキストを変更できます。これらのメソッドは、与えられたこの値とパラメーターを使用して関数を呼び出します。 JavaScriptは優れたプログラミング言語です。数年前、この文はそうでした

jQueryは素晴らしいJavaScriptフレームワークです。ただし、他のライブラリと同様に、何が起こっているのかを発見するためにフードの下に入る必要がある場合があります。おそらく、バグをトレースしているか、jQueryが特定のUIをどのように達成するかに興味があるからです

この投稿は、Android、BlackBerry、およびiPhoneアプリ開発用の有用なチートシート、リファレンスガイド、クイックレシピ、コードスニペットをコンパイルします。 開発者がいないべきではありません! タッチジェスチャーリファレンスガイド(PDF) Desigの貴重なリソース


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版
ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
