EDITORIAL
私は彼女が7年以上、Androidは6を持って学んで、数年以上を卒業した、現在のジュニアインターンシップに開始するために、プロジェクトをどう自己年生のAndroidや教師への私の「仕事」を覚えています!しかし、全体的な感じはこの記事として、問題が発生し、十分な深非常に断片化された知識である、およびありません。
この記事では、彼の能力に段差を作るためのAndroidに重いと難しいの体系的かつ綿密な調査に意図自分のAndroidプログラミングのスキル、思考と反射、の要約です。私は知識を理解するために比較的高い周波数、重要なまたは困難でAndroidの知識が一覧表示されます、そして将来は、この記事のポイントの知識に基づいて行われます下に彼らの研究を要約ノートとして、調査・研究を一覧表示し、一連の記事を書きました、子供の靴、私も一緒に交換学ぶことを願っています〜
説明:これは経験が、自己概要について話をする面接ではありません。私は結果が言う、唯一のポイントを示していますそのオンライン記事の多くに行く好きではないが、なぜ、その後、丸暗記言いませんでしたが、私はそれを知っているか分かりません。そして、私もこれらを知っていて、その理由を知っているように記事を書くために徹底的にすべてのソースコードや例から以下の知見、および知識を勉強するつもりでした。〜私は何をするかどうか知らないが、フラグが立つように私は、我々の努力で辛抱します
Androidの高度なテキスト重いと難しいです
ジャワ
- コレクション:シーンを使用して、ソースコードを読みます
- GCメカニズム
- 仮想マシン
- オブジェクトのメモリ割り当て
アンドロイドを学ぶために、Javaは(もちろん、まだKotlinがあります)強固な基盤を持っている必要があります。ここではわずか4ポイントがありますが、Javaシステムが記載されている、非常に大きく、重く、これらよりも難しいコースです実際のプロジェクトとのインタビューで、共通または共通しています。
Androidの人気/重要なクラス
- アクティビティ
- ハンドラ
- HandlerThread
- AsyncTask
- バインダー
Androidのこれらのクラスは、プログラミングでの使用の比較的高い周波数なので、私はこれらのカテゴリの下でソースコードを閲覧するつもりです。また、このクラスは、プロセスを開始するなどの活動として、よく寄せられるいくつかのインタビューで、バインダー通信理論など、読んでとても価値があります!
Androidの基本的な技術知識と高周波インタビュー
- ビューのイベント配信
- ビューの描画処理
- SurfaceViewの使用
- IntentServiceサービスの場面を置き換えます
- サービスキープアライブ
- Androidのシリアライズとの違い
知識は比較的基本的なだけでなく、非常に重要です!残念ながら、めったに実際のプロジェクトで使用されていないので、多くの場合、この知識を忘れてしまいました。だから我々は、自分の印象を深めるために、紙の上にそれを置くしようとしています。
NDKとJNI
Cコードを記述する場合は、あなただけの、大丈夫C層インターフェースを呼び出す場合は、このといえば、私は頭痛を取得し、私はそれが恥ずかしいです、私のような多くの人が信じています。しかし、我々は常に困難が、困難を免れることはできません!だから私は心の中でこの橋を渡ることにしました!
アルゴリズムとデータ構造
- キュー、スタック、リンクリスト、有向グラフ
- シーケンス
- 求めます
- 赤、黒の木
このアルゴリズムは、グレーのフル自宅いくつかの書籍である...ポイントのリストが難しいことではありません、それの基本的な把握検討する必要があるが、私はいつも、忘れてしまったに見えた彼らは見忘れてしまった、あるいは覚えていないことができます...ので、それがために起こっています記事を書くには、メモリを向上させます。、結局、ジャワのコレクションはまた、注文のインタフェースを提供するために加えて、あなたはアプリケーションレベルの開発を行う場合、これらのいくつかの基本的な知識が十分で習得します。すべての異なるシナリオに異なるアルゴリズムを使用した後、しかし、まだ我々は、に把握する必要があります。
プラグ指向/ホット・フィックス
Androidは、高度なスキルを習得するように、私はこれが彼らのAndroidの開発ではありませんと言って恥ずかしい思います。鋸月RePluginソースの前に、十分ではないDaoxing感じます。治療やロットコードはSidongfeidongはバインダー機構として、見に適応しました。だから、これは今後の戦いということを理解完了するための支援として、多くの知識が必要です!
優れたサードパーティ製のオープンソース・ライブラリー
- RxJava
- 滑走
- OKHttp
"RTFSC(F **王ソースコードを読みます)"。あなたが他の人のコードを参照することなく、学習していない場合は誰もが、プログラミングの独自のスタイルを持って、常に目に小さい、さらにプログラミングレベルを高めることが困難です。他の人のコードを読んでとても良い非常に必要です!
Androidの共通アーキテクチャのパターン
- MVC
- MVP
- MVVM
デカップリング!デカップリング!デカップリングの最優先事項以上のものを使用していないAndroidのアーキテクチャモデル。開発コードは、最も困難なコードを維持することは容易です。コードは、メンテナンスコストを削減するデカップリングの多くは、ある場合には、自然の作業効率を向上させます。
Gradleの和のGroovy
私は個人的に、私は重いを置き換えることができ、コンパイルJavaアノテーションで行われていることを感じて、ほとんどの人が今ビルドツールは、実際には非常に強力ですGradleのように、Androidのメーカーが開発され使用されていると信じています。でもファイルは、コンパイル時に非常に強力な変更することができますので、それは学習の価値があるので。
通用技能
- TCP / HTTP
- SQL
- 自動テスト
- Etherealの
Androidの予想外の知識に加えて、だけでなく、あなたには、いくつかの一般的なスキルを持っている必要があります。結局のところ、我々は唯一のハハバックエンドのマルチ憎悪の事で勇気づけ知っています。
最後に書かれました
このリストは、私自身の知識に基づいているのでまとめている、と私は限られていますので、すべてが〜を補完することができます偉大な神に、歓迎言及することはできません
将来的には、私は学習の深い知識上記の点を持っているだけでなく、私が一緒に学ぶと靴を持っていることになるでしょう、一緒に進みました。
認知アーキテクチャを強化することは容易ではない、それは意図的な学習と思考と不可分です。
ここでは、私は誰もがほぼ月の準備最新のレコードが、私はこのビデオはあなたに別のインスピレーションを与えることを信じて、アーキテクチャで長年の経験を整理するためのシェアを分析するために、哲学的レベルのフレームワークからの映像とデータを共有し、収穫。