1.コンピュータの基本:
1.1データ構造の基礎:
主な学習:
1.ベクトル、リンクリスト、スタック、キューとヒープ、辞書。泊まっ
2.木、二分探索木。精通
3.グラフ、有向グラフ、無向グラフ、基本概念
9種類に精通してバイナリ検索カテゴリA、B、及びC、精通4。
5.ツリーの前面、中央、背面、レベル、ジグザグ、最短経路。
6. KMPおよびその他の文字列アルゴリズム。
1.2オペレーティングシステム:
主な学習:
1.プロセス、スレッド、プロセススレッドの違い。プロセス間通信
2.プロセススケジューリングアルゴリズムの理解
3.ストレージ、仮想メモリ、ページングセグメンテーション、メモリスケジューリングアルゴリズム
4.ファイルシステム、チェーン、インデックス
5.デッドロック:原因、回避、リリースk
6. Linux基本操作コマンド、スクリプトプログラミングを理解する:シェル、Python
1.3コンピュータネットワーク:
主な学習:
1.ネットワークレイヤー:5レイヤー、7レイヤー、4レイヤーなど
。2.ネットワークレイヤー:IP分類、サブネット分割、スーパーネット。ARPプロトコル、ICMPプロトコル。内部ゲートウェイと外部ゲートウェイ、VPNなどを
理解します。3.トランスポート層:ポート、UDPプロトコルの理解、TCPプロトコルの理解、3つのハンドシェイク、4つの切断。
4.アプリケーション層:一般的なプロトコルで使用されるポートと基礎となるプロトコルを理解します。
5.より深い理解:TCP / IPは、輻輳、スライディングウィンドウ、信頼性を実現する方法などを制御します。
1.4基本的なアルゴリズム:
主な学習:
1.ビッグOやその他の記号を理解する
2.次のような動的プログラミング:いくつかのタイプのバックパック問題のテストを作成するための既成のコードを用意するのが最善です。最長の共通サブシーケンス
3.貪欲アルゴリズム:ハフマンコーディングの理解(頻繁に書かれたテストの概念)
4. BツリーB +ツリーは、データベースインデックスの理解に使用されます
5.一般的に使用されるグラフアルゴリズム:幅優先、深さ優先、最短パスアルゴリズム(最短)既製のコード)、最小のスパニングツリー。
2. Javaナレッジベース:
2.1JAVAの基本
推奨書籍:プログラミングのアイデア
1.マスターJavaの一般的なテクノロジー、io、マルチスレッド、リフレクション、共通の収集フレームワーク
2. IOテストの入出力に精通し、筆記テストに使用
3.反復子、反復可能、比較可能、コンパレーターを理解し、一般的に使用コレクションの走査と並べ替え。
4. NIOに精通し、JMSとRPCを理解します
。5.抽象クラスとインターフェースの違いなど、JAVAの基本的な概念に精通し、これらを覚えてください。
2.2 Javaソースコード
1. Hashmap、hashtable、concurrentHashMapのソースコードと相違点
2.その他のコレクションフレームワーク:linkedHashMap、LinkedHashSet、Copy-On-Writeなど
3. Lock、Object、Stringなどのソースコードを理解する
2.3 Java同時API
おすすめの本:筆記面接への対応:JAVAマルチスレッドプログラミングとコアテクノロジー。真の本:JAVA並行プログラミングの実践。
同期とロックの違いと使用法
2.待機()および待機()通知()およびシグナル()、待機()およびスリープ()の違いと使用法
3.その他のAPIの使用法:yield、joinなど
4.ボリュームの詳細な理解、およびCASの理解
5. JAVAロックの最下層の実現:スピンロック、ブロッキングロック、リエントラントロック、バイアスロックなど。
6.スレッドプールとブロッキングキュー
7.プロデューサーやコンシューマーなどの一般的な同時実装のケース
2.4 JVMを理解する
おすすめの本:JAVA仮想マシンの詳細な理解
1. Javaメモリモデル、どのコンテンツがどの領域に保存されているか
2.引用技術法とアクセシビリティ分析法
3.オブジェクトの強い参照、柔らかい参照、弱い参照、および仮想参照の違いと機能
4. JVMガベージコレクションメカニズムとリサイクルアルゴリズム
5. OOMとSOFの一般的な原因と解決策、および分析するツール。
6.一般的なJVM入力パラメーターに精通している
7. GCの一時停止、エスケープ分析、TLABエリア、オフヒープメモリなどについて理解します。
8.一般的なガベージコレクター:G1、CMSなど
9. visualvm jconsoleなどの一般的なパフォーマンス監視ツールを理解します。
10.主要な手順や親の委任の原則など、仮想マシンクラスのロードメカニズムに精通している必要があります。
3.定期的な予備知識の学習
3.1データベース:
推奨書籍:SQLの概要:Mysqlは知っている必要があります。詳細な理解:高性能のMysql
1.一般的に使用される関連クエリ構文、いくつかは自分で手書き
2.データベースインデックスに関する深い知識と理解
3.JDBCの学習
4.一般的なデータベースのチューニング方法:インデックスのチューニングなど
5. InnoDBとMyISAMの違い
6.主キー、外部キー、インデックス、一意のインデックスを理解する
7.インデックス、ビュー、トリガー、カーソル、およびストアドプロシージャを理解する
8.一般的に使用されるリレーショナルデータベースと非リレーショナルデータベース:リレーショナル理解:Mysql、Oracle非リレーショナル理解:redis、Hbase、monogodbなど。
3.2設計パターン:
デザインパターンの禅
1.シングルトンモードのいくつかの書き込み方法を知っておく必要があります。
2. JDKの対応する設計パターン:IOの装飾パターンやアダプターパターンなど
3.フレームワークで一般的に使用される設計パターン:Strutsの一連の責任パターン、Springのファクトリパターン、動的プロキシパターンなど。
4. 6つの設計原則を理解する
3.3 HTTPプロトコル:
HTTPの最も信頼できるガイド
1. HTTP、プロトコルバージョンなどとは
2.ブラウザを使用してHTTPリクエストとレスポンスを表示する方法を学ぶ
3. HTTPリクエストヘッダーとリクエスト本文に精通している
4. HTTP応答ヘッダーと応答本文に精通している
5.レストスタイルを理解する
3.4神のような春:
Spring実際の戦闘とSpringテクノロジーインサイダー
1. IOCの原理と機能を理解する
2. AOPの原理と機能を理解する
3.一般的に使用されるXML構成
4.春の取引の原則と使用
5.SpringMVC
6. Spring Webflow、リモートサービス、休憩、メッセージング、セキュリティなどを理解する。
7.新機能:スプリングブートとクラウド
4.バックエンド学習への道
4.1 WEBバックエンド学習ロード
SSH統合開発などを選択できます
1. JSPとサーブレットの学習
2. XMLおよびJSON解析の学習
3.フロントエンドの知識:HTML、css、js
4. JDBCの学習、ファイルのアップロード/ダウンロード、JAVAMailなど
5. jspとサーブレットを使用して単純なプロジェクトを開発できます
6.次にフレーム学習:Struts2、Hibernate、Spring、相互統合開発
7.次に、SpringMvc、Mybatis、Lucene、shiroなどを理解できます。
8.フレームワークを使用して、CMSなどの単純なプロジェクトを実装します。
4.2サービスアーキテクチャの学習への道(筆記テストインタビューのこの部分は学習されない場合があります)
分散サービスフレームワークとマイクロサービス設計の原則と実践
1. SOAとマイクロサービスを理解する
2.負荷分散:LVS、NGINXなど
3. RPCフレームワークの学習:RMI、Thriftなど
4.メッセージフレームワークの学習:ActiveMqなど
5. Nettyコミュニケーションフレームワークの学習
6.サービスフレームワーク:ダボ
4.3 Hadoop学習の道(筆記テストのインタビューのこの部分は学習ではない場合があります)
Hadoopの最も信頼できるガイド
1. mapReduceとHDfSに慣れている
2. Hadoopクラスターの構築
3.理解:zk、hive、hbase、pig、mahoutなど
4. Zkには、登録センターになる、構成情報を置くなど、いくつかの一般的な機能があります。
Alibaba Cloud内部チュートリアル
SSMエンタープライズレベルの戦闘
ビッグデータ分析
インタビュー集
神になるためのJavaガイド、インタビュー、ドキュメント、および本は、あなたが段階的に神になるのに役立ちます。上記のすべての学習資料を必要とする友達は、転送+コメントし、私のプライベートメッセージに従い、「666」と返信して無料のコピーを入手してください