免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
序文
おそらく、9月と10月には、多くの人々は、グループ内の質問に直面しない方法を掲載していません、おそらくあまりにもNansi侯は、よく、私たちに要約の波を与えます。現時点では、基本的な仕事の一部とソースに大きな注意を払って、Kotlin、フラッターの主流が必要となります。他のアルゴリズム、ソースコード、アルゴリズム、このアンドロイドに行くためには、現状のままにしないカスタムビューは、多くのことを学ぶことです。
この回顧録インタビューを書くの目的:
- インタビュープロセスのくしの知識は、将来のリコールのために、より直感的にすることができ
- 私はいくつかの助けを提供するために、友人の面接のために準備をしたいかであること
その他:
- 主に群集のための:[]または[]シニアエンジニアやその他の関連ジョブのシニアエンジニアインタビュー
- ない厳密に区別二つ、三つの側面に従い、
ディレクトリ
テンセントOMG
- 使用状況を同期させます
- 揮発性の使い方
- 動的な権限の適応方式、権利グループの概念
- ネットワークリクエストのキャッシング、ネットワークバッファをどのように扱うかokhttp
- OOMを防ぐためにどのような30Mの全体像として、ビットマップは大きな絵を処理する方法に関連する画像の読み込みライブラリー、、、
- プロセスキープアライブ
- 原理リストビュー画像読み込み混乱とソリューション
- (RSAなど)の暗号化アルゴリズムの知識があるかどうかHTTPSここで使用する対称暗号、非対称暗号化を使用する、など、証明書の有効性を確認する方法、HTTPS関連
アリババ
- LRUCache原則
- 画像の読み込み原理
- モジュラー実現(利益の理由)
- JVM
- 映像伝送の暗号化
- ときに長い統計的標準を開始
- アプリケーションの安定性を維持する方法
- ThreadLocalの原則
- 会話クラスローダ
- ダイナミックなレイアウト
- ホットフィックス、プラグインテクノロジ
- HashMapのソース、SpareArray原則
- パフォーマンスの最適化は、どのアプリケーションがカトンを起動しないことを保証するために、
- 重複したコードを削除する方法
- SPはそれを同期するプロセスです?同期を達成する方法はあります
- SurfViewを紹介
- HashMap实现原理,ConcurrentHashMap 的实现原理
- BroadcastReceiver,LocalBroadcastReceiver 区别
- Bundle 机制
- Handler 机制
- android 事件传递机制
- 线程间 操作 List
- App启动流程,从点击桌面开始
- 动态加载
- 类加载器
- OSGI
- Https请求慢的解决办法,DNS,携带数据,直接访问IP
- GC回收策略
- 画出 Android 的大体架构图
- 描述清点击 Android Studio 的 build 按钮后发生了什么
- 大体说清一个应用程序安装到手机上时发生了什么;
- 对 Dalvik、ART 虚拟机有基本的了解;
- Android 上的 Inter-Process-Communication 跨进程通信时如何工作的;
- App 是如何沙箱化,为什么要这么做;
- 权限管理系统(底层的权限是如何进行 grant 的);
- 进程和 Application 的生命周期;
- 系统启动流程 Zygote进程 –> SystemServer进程 –> 各种系统服务 –> 应用进程
- recycleview listview 的区别,性能
滴滴
- MVP
- 广播(动态注册和静态注册区别,有序广播和标准广播)
- service生命周期
- handler实现机制(很多细节需要关注:如线程如何建立和退出消息循环等等)
- 多线程(关于AsyncTask缺陷引发的思考)
- 数据库数据迁移问题
- 设计模式相关(例如Android中哪里使用了观察者模式,单例模式相关)
- 微信的聊天数据在本地都是加密处理的(防止root了被破解),设计一个类似的本地数据存储系统
- x个苹果,一天只能吃一个、两个、或者三个,问多少天可以吃完
- Android相关你最擅长哪一块
- TCP与UDP区别与应用(三次握手和四次挥手)涉及到部分细节(如client如何确定自己发送的消息被server收到) HTTP相关 提到过Websocket 问了WebSocket相关以及与socket的区别
- 是否熟悉Android jni开发,jni如何调用java层代码
- 进程间通信的方式
- java注解
- 计算一个view的嵌套层级
- 项目组件化的理解
- 基于自身工作经验和计算机相关知识,给出 移动端地图局部加载 瓦片大小的像素大小估值
- 多线程断点续传原理
- Android系统为什么会设计ContentProvider,进程共享和线程安全问题
- jvm相关
- Android相关优化(如内存优化、网络优化、布局优化、电量优化、业务优化)
- EventBus实现原理
美团
- 线程挂起,休眠,释放资源相关,唤醒,线程同步,数据传递,问了很多线程的问题,问了20分钟大概
- static synchronized 方法的多线程访问和作用,同一个类里面两个synchronized方法,两个线程同时访问的问题
- 内部类和静态内部类和匿名内部类,以及项目中的应用
- 泛型是什么以及在项目中的应用
- handler发消息给子线程,looper怎么启动
- down、move、up事件的传递
- activity栈
- 封装view的时候怎么知道view的大小
- intent-filter
- arraylist和linkedlist的区别,以及应用场景
- 怎么启动service,service和activity怎么进行数据交互
- 下拉状态栏是不是影响activity的生命周期,如果在onStop的时候做了网络请求,onResume的时候怎么恢复
- view渲染
总结
共同点:
- 对基础性、原理性的东西比较重视
- 具体问题的解决能力、项目的架构能力
不同点:
- 公司不同、产品业务线不同,所以涉及的技术重点和方向不同
思考:
有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。
最近是金九银十面试旺季,大家都希望趁着这个机会找到一个心仪的工作,但是不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~
面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责!
金九银十面试季,赶快去为自己的面试做足准备吧!
快来获取学习资料提升自己去挑战一下BAT面试难关吧!
这里是关于我自己的Android 学习,面试文档,视频收集大整理,有兴趣的伙伴们可以看看~