バイドゥの最初の200ページの「Javaインタビューの質問」が選択された次の記事
デザインパターン
デザインパターンとは何ですか?どのデザインパターンを使用しましたか?どの機会に、どの商業設計モデルを使用していますか?
どの設計パターンがシステムのスケーラビリティを向上させることができるか
シングルトンモード
Singletonモードに加えて、生産環境で他にどのような設計モードを使用していますか?
シングルトンシングルトンモードシングルトンモードのライティングダブルチェックロックスレッドセーフシングルトンの作成方法
クラスのシングルトンパターンは何ですか? 3つのシングルトンパターンの実装を書きます
アダプターモード
Xiangyuanモードを使用するタイミング、コンビネーションモードを使用するタイミング。訪問者モードを使用するタイミング。テンプレートメソッドモードは何ですか。開閉の原則に準拠した設計モードの例を挙げてください。
未解決の質問
Webプログラミングの特性を1つの文で要約します
Googleは1秒で検索結果をユーザーにどのように返しますか?どの依存関係噴射方法、コンストラクターインジェクション、またはセッターメソッドインジェクションツリー(バイナリまたはその他)を使用して、多くの通常のデータ構造の基礎を形成することをお勧めします。そのようなデータ構造をいくつか説明してください、そしてあなたがそれらを使用できるとき。オンラインシステムを設計する方法は突然非常に遅くなります。どのように問題を見つけますか?フレームワークの使用にはどのようなプロジェクトが適していませんか? Sina WeiboはどのようにWeiboを加入者にプッシュすることを実装していますか?簡単な紹介。 Java Webアプリケーションでは、ブラウザからURLを入力してリクエストインターフェイスに入力します。高い並行性の下でSSH統合の下で同じデータラインを安全に変更する方法についてお話してください。
12306 Webサイトのチケット予約システムの実装方法、チケットが売られていないことを確認する方法、Webサイトのパフォーマンスの最適化を最適化する方法。設計に関与しているサーバーアーキテクチャについて話しましょう。分散環境にCountDownLatchを実装するソリューションについて考えてください。
キャッシュの全体的なサイズを制御できるローカルキャッシュの自動適応を設計するためのソリューションについて考えてください。あなたのキャリアの中で最も難しい技術的課題は、設計文書の書き方です。Oの大文字化は何ですか?いくつかの例を挙げて、オープニングとクロージングの原則、職場でのアプリケーションなど、プログラミングのいくつかのデザイン原則をどのように考慮してください。ネットワークアプリケーションのモデルと特性を説明します。オンラインドキュメントシステムを設計します。ドキュメントを編集できます。複数の人が同じドキュメントを同時に編集して更新するのを防ぐ方法。データ接続プールの作業メカニズムを言います。ファイルに表示される最高の頻度の単語を取得する方法。最も一般的に使用されるプログラミングスタイルを説明してください。製品を再設計する機会があれば、どのように利用可能なシステムを構築する方法をどのように行いますか?ユーザー名とパスワードを入力せずに開始する方法。 JavaベースのWebプロジェクトでファイルをアップロードおよびダウンロードする方法。フラッシュ販売システムを実装して、特定の製品を購入できるユーザーが少ないことを確認する方法。
負荷分散を実現する方法、ショッピングカートの設計にどのようなアルゴリズムを使用できますか? Taobaoのショッピングカートがどのように実装されて、一連の高電流支払いソリューションを設計し、アーキテクチャの設計方法、100Wの長い接続を設計および確立し、維持する方法、ブラウザキャッシュを回避する方法を考えてください。
ABと2つのシステムが互いに依存している場合に雪崩を防ぐ方法、依存関係を取り消す方法、誰かが悪意を持って違法なつながりを作成した場合、数十億のホワイトリストがいる場合は問題を解決する方法、日中は毎日高いクエリが必要であり、夜間に更新されます。この機能を設計する方法。システムが超大規模な整数(長さの範囲よりも多い)を使用したい場合は、データ構造を設計して、このような超大型番号を保存し、アルゴリズムを設計して、超大型整数追加操作を実装してください)
グラフィックシステムを設計する場合は、基本的なグラフィックコンポーネント(Point、Line、Rectangle、Triangle)の簡単な実装を設計してください。同時および安全なリンクリストを実装することが許可されている場合、アプリケーションサーバーとWebサーバーの違いをどのように作成しますか?アプリケーションサーバーのパフォーマンスとさまざまな方法の違いを監視する方法は? Application Server Optimizationテクノロジーに使用した大規模なWebサイトは何ですか?大規模なWebサイトで考慮すべきアーキテクチャはどれですか?オンラインの問題に対処しましたか?メモリリーク、CPUの使用率は高く、アプリケーションが反応しないときにどのような本をしていると思いますか?最も印象的な本は何ですか?どのバージョン管理ツールを使用しているかの説明の下で使用する一般的な再構成技術は何ですか?ブランチとタグの違いは何ですか?パターンアンチパターンが存在するものについて学びましたか?使用したWebサイトのフロントエンド最適化の手法は何ですか?スレッドダンプを分析する方法
AOPのJoinPoint、PointCut、Enhancement、はじめに、織り、セクションの概念をどのように理解しますか。メモリリークやスタックオーバーフローの問題にどのように対処しますか? JVMパラメーターはオンラインで使用されていますか?システムのQPSとスループットを改善する方法は?
知識
Mesiプロトコルとは何かを説明します(キャッシュコヒーレンス)
原子炉モデルについて話します
Java 9がもたらす新機能
JavaとC ++を比較すると、C ++またはJavaの例外処理メカニズムの単純な原理とアプリケーションを、Tomcat構造とそのクラスローダープロセスの仮想メモリについて簡単に説明します。テスト駆動型開発(TDD)の理解について簡単に説明してください
CDN実装の原則
MavenとAntの違いは何ですか
UMLで一般的に使用される写真は何ですか
Linux
n+1パズルとは何ですか?paxosアルゴリズムとは何ですか?あなたがRestfulを理解していることを教えてください
ZABプロトコルとは何ですか?ドメインモデルとは何ですか?貧血モデルと混雑モデルの違いは何ですか?ドメイン駆動型開発とは何ですか?
あなたが理解しているJavaフィールドのWebサービスフレームワークの紹介
Webサーバー、Webコンテナ、アプリケーションサーバーの違いは何ですか?マイクロサービスとモノリシックアプリケーションの違いは、Cookieとセッションの役割、違いとそれぞれのアプリケーションスコープ、セッションの動作の原則、使用する継続的な統合と静的コード分析ツールは、データベースの正規化(正規化)を簡単に説明します。
キス、ドライ、ヤニなどの原則は、分散トランザクション、利点、短所の原則、および分散トランザクションの使用方法を意味しますか?
分散クラスターで一意のシリアル番号を達成する方法
ネットワーク
フレームワークのコード永続レイヤー設計の一部を見たことがありますか?考慮すべき問題は何ですか?使用した永続レイヤーフレームワークの数値強化は何ですか? LISZC代替の原則を説明できますか?アプリケーションをどのようにテストしましたか?テストフレームワークの輸送層の一般的なプログラミングプロトコルは何ですか?そして、彼ら自身の特徴を伝えます
プログラミングの質問
残業費用を計算します
10時間未満の残業作業の残業費用は、1時間ごとの給与の1.5倍です。 10時間以上時間外に作業することは、1時間あたり4元として計算されます。ヒント:( 1か月あたり26日、1日8時間働いています)
1000の月給を計算し、9時間の残業費用を計算し、残業2500給を計算し、15時間の15時間の残業の計算
物事を売る
モールには、赤いリンゴと緑のリンゴが販売されています。 (赤いリンゴはピースあたり5元、緑のリンゴはピースあたり4元です)。
購入をシミュレートします。 200個の赤いリンゴと緑のリンゴがそれぞれ追加されました。
販売のためにシミュレートします。私はそれぞれ10個の赤いリンゴと緑のリンゴを購入しました。販売された各Appleには統計が必要です。
ヒント:Appleは別のエンティティです。
日付抽出
そのような時間の文字列があります:2008-8-8 20:08:08、それに一致できる正規表現を書いて、Javaコードを書いて、日付から数分、数分、秒、つまり20:08:08を抽出してください
糸
8デザイン4スレッド、2つのスレッドがJの場合に毎回1増加し、他の2つのスレッドはjに対して毎回1減少します。プログラムを書きます。
Javaでマルチスレッドプログラムを作成します。たとえば、4つのスレッド、2つのプラス1、2つのDectment、Outputなど、
Wait-Notifyは、プロデューサーと消費者の問題を解決するためにコードを書いています
番号
101〜200の間のプライム番号の数を決定し、すべてのプライムナンバーを出力します。最も効率的な方法を使用して、17倍の2回を計算して1億の数値に相当します。それらの2つが繰り返されます。すぐに見つけてください。時間と空間が最適でなければなりません。
中間サイズの値を見つけるために、2億個のランダムに生成された順序付けられていない整数
10億のうち10億人のうち最小の10を見つけてください
1〜1億の自然数は、1から11 => 1 +… + 9 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1の分割数など、2、8、6に分割される286など、すべての数値の分割番号の合計を見つけます。
数値がその因子の合計に正確に等しい場合、この数値は「完成数」と呼ばれます。たとえば、6 = 1+2+3。プログラミング1000以内のすべての要素を見つけるためのプログラミングと配列内のすべての要素が3回表示され、1回の要素のみが1回表示されます。この要素を見つけて、ボールは100メートルの高さから自由に落ち、各着陸後に元の高さの半分に戻ります。もう一度落ちて、10回目に着地したときに何メートル通り通るかを見つけますか? 10回目のリバウンドはどれくらいですか?
100〜1000以内の素数の合計を見つけて、1〜100の平均合計数を見つけて、s = a+a+aaa+aaa+aaa…aの値を見つけます。たとえば、2+22+222+2222+2222(合計5つの数値が追加されています)、いくつかの数値の追加はキーボードによって制御されます。合計1〜100を見つけます
プライム番号を1から40に計算し、配列に入れます
3N+1の数値があり、そのうち3Nが繰り返され、1つだけが繰り返されていません。それを見つける方法。
1.1.2.3.5.8.13.21.34の数字のセットがあります。プログラムを作成し、数値を入力して、以前の数字のセットと同じルールを持つ最初の5つの数字の要因開発を提供します。フィズバズ
N整数を含む配列を考慮して、欠落している整数を見つけて配列を整理し、すべての組み合わせを見つけて、2つの数値mの合計を見つけて、プライムファクターに正の整数を分解します。例:90を入力して90 = 2*3*3*5を印刷します。
すべての「narcissus番号」を印刷します。いわゆる「narcissus番号」とは、数字が数字自体に等しい3桁の数字を指します。例:153は「まばゆいばかりの数字」です。なぜなら、153 = 1キュービックパワー+5キュービックパワー+3立方電力交換値は、4バイトの整数の中央値を見つけ、整数の平方根を見つけるためにフィボナッチを実現するため
ネットワーク
Javaソケットを使用してプログラミングし、サーバー上の数文字を読み、ローカルディスプレイに書き込みます
反射
反射メカニズムはどのような機能を提供しますか?
リフレクションを実装する方法リフレクションメカニズムを使用する場所は?反射。 class.fornameおよびclassloader。反射を区別する3つの方法。クラスインスタンスを作成する3つの方法は何ですか?反射を介してオブジェクトを呼び出す方法。反射を通じてオブジェクトのプライベートフィールドの値を取得して設定する方法。反射メカニズムの利点と短所。
データベース
JDBCをOracleプログラムに書き込み、データクエリを実装します
アルゴリズム
50人が輪になって座ります。数字が3つまたは3つの倍数に達したら、残りの人が誰であるかを尋ねます。元の位置は何ですか?エレベーターシミュレーターを実装します。バブルソートを書いて、折りたたみを書き、ハーフルックアップはランダムに20文字を生成し、繰り返してソートします。関数を書き込み、2つの順序付けられた整数アレイで渡し、順序付けられた整数アレイを返し、アレイリストを横断するときに要素を削除するコードを記述します。古典的な質問:ウサギのペアがあり、出生後3か月目から毎月ウサギが生まれます。リトルウサギは4か月目に成長し、毎月別のウサギがあります。ウサギが死なない場合は、毎月合計でいくつのウサギがあるかを尋ねてください。
通常
IPアドレスに一致する正規表現を書いて、文字列が数字であるかどうかを判断するために正規表現を書いてください
弦
メソッドを書き、ファイル名と文字列を入力し、このファイルにこの文字列が表示される回数をカウントします。
すべての文字列の組み合わせを見つけて、それらがパリンドロームの文字列であるかどうかを確認するプログラムを作成します。文字列反転関数を書き、ABCDEを入力してEDCBAコードミニゲームに変換し、文の単語を逆にして、GB2312エンコードされた文字列をISO-8859-1エンコード文字列に変換します。特定のテキストで「a」文字の数を計算するために、コードを記述してください。それぞれ反復と再帰で文字列を傍受する関数を書きます。入力は文字列とバイト番号であり、出力はバイトによって傍受される文字列です。ただし、漢字が半分を切断しないようにする必要があります。たとえば、「I ABC」4は「I AB」として切り取られる必要があります。
単語リスト(1行につき1つ)を含む2つのファイルが与えられている場合は、プログラムで交差点をリストし、文字列のすべての順列を印刷して、キーボードで入力を中国の出力に変換します(たとえば:入力1234567、出力:122ピック34566ピック7)
Webアプリケーションの開発中に、GBKからISO8859-1などのエンコードされた文字を出力する文字に遭遇することがよくあります。特定の種類のエンコード文字列を出力する方法
日付
2つの日付間のギャップを計算します
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。