17 Java Developer Interview Question Series-9(経験者 0~6歳)
この記事では、コア Java、Java-8、関数型プログラミング、Spring Framework、コーディング インタビューの質問、および SQL データベースの質問に関する Java インタビューの質問について説明します。それに飛び込みましょう。
コーディング
Java 8 ストリーム API:
EMP<Id, Name, Salary, Deptt> の従業員リストが与えられたので、人事部の従業員の最高給与を見つけます。
Optional<Employee> maxSalaryEmployee =
employeeList.stream()
.collect(Collectors.maxBy(Comparator.comparing(Employee::getSalary)));
public class InheritanceTest {
public static void main(String[] args) {
method(null);
}
public static void method(Object o) {
System.out.println("Object method");
}
public static void method(String s) {
System.out.println("String method");
}
}
class A{
public void m1() throws ArrayIndexOutOfBoundsException{
System.out.println("In m1 A");
}
}
class B extends A
{
void m1() throws IndexOutOfBoundsException
{
System.out.println("In m1 B");
}
void m2() throws IndexOutOfBoundsException
{
System.out.println("In m2 B");
}
}
public class Test {
public static void main(String[] args) {
A a=new B();
a.m2();
}
}
findCommon(int a[], int b[], int c[], int n1, int n2,int n3)
{
// three sets to maintain frequency of elements
HashSet<Integer> uset = new HashSet<>();
HashSet<Integer> uset2 = new HashSet<>();
HashSet<Integer> uset3 = new HashSet<>();
for (int i = 0; i < n1; i++) {
uset.add(a[i]);
}
for (int i = 0; i < n2; i++) {
uset2.add(b[i]);
}
// checking if elements of 3rd array are present in
// first 2 sets
for (int i = 0; i < n3; i++) {
if (uset.contains(c[i]) && uset2.contains(c[i])) {
// using a 3rd set to prevent duplicates
if (uset3.contains(c[i]) == false)
System.out.print(c[i]+" ");
uset3.add(c[i]);
}
}
}
Java 8 のメソッド参照とは何ですか?
メソッド参照は、関数インタフェースのメソッドを参照するために使用されます。これは、ラムダ式のコンパクトで簡単な形式です。ラムダ式を使用してメソッドを参照するたびに、ラムダ式をメソッド参照に置き換えることができます。これらのメソッドは、「::」二重コロン演算子で使用できます。
例:
ContainingClass::staticMethodName
スプリングブーツ
SpringBootのエントリーポイントについて教えてください。それは何をしますか?コンポーネントスキャンは何をしますか? 構成を除外する方法は?
多くの Spring Boot 開発者は、アプリで自動構成、コンポーネント スキャンを使用し、「アプリケーション クラス」で追加の構成を定義できることを好みます。単一の@SpringBootApplication注釈を使用して、これら 3 つの機能を有効にすることができます。つまり、次のとおりです。
@EnableAutoConfiguration: Spring Boot の自動構成メカニズムを有効にします@ComponentScan:@Componentアプリケーションが配置されているパッケージでスキャンを有効にします (ベスト プラクティスを参照してください)。@Configuration: コンテキストに追加の Bean を登録したり、追加の構成クラスをインポートしたりできます
春豆のライフサイクル?
春に豆を注入する方法は?どのタイプの依存性注入を好みますか?
依存性注入は、IoC を実装するために使用できるパターンであり、オブジェクトの依存性を設定する際に制御が反転されます。
オブジェクトを他のオブジェクトに接続する、またはオブジェクトを他のオブジェクトに「注入」することは、オブジェクト自体ではなくアセンブラによって行われます。
コンストラクター ベースの依存性注入の場合、コンテナーは、設定する依存性を表す引数を使用してコンストラクターを呼び出します。Spring は、各引数を主に型で解決し、続いて属性の名前と曖昧さを解消するためのインデックスを解決します。注釈を使用して Bean とその依存関係の構成を見てみましょう。セッターベースの DI の場合、コンテナーは、引数なしのコンストラクターまたは引数なしの静的ファクトリ メソッドを呼び出して Bean をインスタンス化した後、クラスのセッター メソッドを呼び出します。注釈を使用してこの構成を作成しましょう。
Javaのメモリモデルについて教えてください。Javaでメモリリーク?Javaでそれを修正する方法は? そのためにプロファイラーを使用する方法は?メモリ不足エラー?
メモリ リークは、使用されなくなったオブジェクトがヒープに存在する状況ですが、ガベージ コレクターはそれらをメモリから削除できず、不必要に維持されます。メモリ リークは、メモリ リソースをブロックし、時間の経過とともにシステム パフォーマンスを低下させるため、良くありません。
Java プロファイリングを使用すると、オブジェクトの作成、スレッドの実行、メソッドの実行、そしてガベージ コレクションなど、さまざまな JVM パラメーターを監視できます。また、メモリ リークを検出できるツールを使用します。ヒープ ダンプを使用することも役立ちます。
Javaでオプション?
Optional は、Java 8 で導入された新しい型です。存在する場合と存在しない場合がある値を表すために使用されます。つまり、Optional オブジェクトには、null 以外の値を含めることができます (この場合はpresentと見なされます)、または値をまったく含まないこともできます (この場合はemptyと見なされます)。
Optional オブジェクトは、次の可能な状態のいずれかを持つことができます。
- Present : Optional オブジェクトは不在を表していません。値は Optional オブジェクトにあり、get() を呼び出すことでアクセスできます。
- Absent : Optional オブジェクトは、値がないことを表します。get() を使用してコンテンツにアクセスすることはできません。
index はArrayList 内の位置を意味し、最初の位置は 0 (ゼロ) です。これは、ほとんどのプログラミング言語に当てはまります
利点 — 検索は簡単で手間がかかりません。
短所 - 挿入と削除は簡単ではありません。
データベース結合について説明します。
Javaでラッパークラスを書くには?
JavaのJITとは何ですか?
Just -In-Time (JIT)コンパイラは、実行時の Java アプリケーションのパフォーマンスを向上させるJRE (Java Runtime Environment)のコンポーネントです。実行時にバイトコードをネイティブ マシン コードにコンパイルすることで、Java プログラムのパフォーマンスを向上させます。
static なしで main メソッドを作成しましたか?
プログラムに main メソッドを static 修飾子なしで記述できます。プログラムはコンパイル エラーなしでコンパイルされます。ただし、実行時には、JVM はこの新しいメソッド (static を使用しない) をプログラムのエントリ ポイントとは見なしません。
インタビューの質問と回答をもっとお探しですか?
準備に使ったおすすめの本を紹介します。
コピーはここから入手できます — Spring Boot インタビューの Grokking:
スプリング ブート インタビュー[無料サンプル コピー]:ここをクリック
ここでコピーを入手できます: Java インタビューの Grokking
Java インタビューの Grokking [無料サンプル コピー]:ここをクリック
読んでくれてありがとう
- ストーリーに拍手して、GumroadとAmazonでフォローしてください
- 私のメディアでもっとコンテンツを読む(Java 開発者インタビューに関する 21 以上の記事)
- 私に従ってください:リンクトイン| ツイッター

![とにかく、リンクリストとは何ですか?[パート1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































