马上就又要到金九银十求职的黄金期了,很多资深面试官都说其实他们每天都要面试考核很多Android开发者,但是通过的人却寥寥无几。他们有几个面试观点可能比较重要,对你的面试和职业规划或许会很有帮助,在这分享给你:
现在的你,到底该不该换工作?
待遇薪资、公司平台、团队氛围、老板实力等等这些因素,综合影响着你的工作和发展,如果没考虑清楚这些就去换工作,你的沉没成本就太大了,每次都重新开始,毫无积累。
应聘是需要准备的。
首先是简历,要用自己的亲身经历去写。并且不要打自己的脸,精通就是精通,熟悉就是熟悉,了解就是了解。还有,面试前要准备哪些技能知识?要不要准备算法题?以及如何表达你做过的项目?这些你都需要好好地准备一下。如果你没有准备的话,那么被pass掉的概率会非常大。
很多人没有意识到“慢性死亡”的过程。
你当下可能身处一家不错的公司,薪水还不错,工作也很舒心,好像没必要折腾。但在老板的角度看,这是个简单的性价比问题。时间不断流逝,如果你只是资历更深了,但是能力没有迈上新的台阶,那么相比于一个更加年轻的程序员,哪个性价比更高?答案是显而易见的。
这些问题是不是让你恍然大悟,又心生惶恐。面试不等同于考试,搞定考核范围内的所有内容,考试也就八九不离十了。但面试是人与人的沟通,你也可以看成是一次博弈。
一点绵薄之力
希望想进大厂或者字节的朋友们早有规划,不妨多刷刷大厂之前的面试真题。如果你觉得自己目前的硬实力又不到,我觉得还是有必要去努力一下的,技术能力的高低能决定你走多远,平台的高低,能决定你的高度。
下面分享一份我们内部一位大佬整理的《字节跳动--2022中高级Android面试必知百题》,希望能帮助到有心在技术这条道路上一路走到黑的朋友!
第一章 Java 方面
-
第一节 Java 基础部分
-
第二节 Java 集合
-
第三节 Java 多线程
-
第四节 Java 虚拟机
第二章 Android 方面
第一节 Android 四大组件相关
- Activity 与 Fragment 之间常见的几种通信方式?
- LaunchMode 的应用场景?
- BroadcastReceiver 与LocalBroadcastReceiver 有什么区别?
- 对于 Context,你了解多少?
- IntentFilter是什么?有哪些使用场景?
- 谈一谈startService和bindService的区别,生命周期以及使用场景?
- Service如何进行保活?
- ......
第二节 Android 异步任务和消息机制
- HandlerThread 的使用场景和用法?
- IntentService 的应用场景和使用姿势?
- AsyncTask的优点和缺点?
- 谈谈你对 Activity.runOnUiThread 的理解?
- 子线程能否更新UI?为什么?
- ......
第三节 Android UI 绘制相关
- Android 补间动画和属性动画的区别?
- Window和DecorView是什么?DecorView又是如何和Window建立联系的?
- 简述一下 Android 中 UI 的刷新机制?
- LinearLayout, FrameLayout,RelativeLayout 哪个效率高, 为什么?
- 谈谈Android的事件分发机制?
- 谈谈自定义View的流程?
- 针对RecyclerView你做了哪些优化?
- 谈谈如何优化ListView?
- ......
第四节 Android 性能调优相关
- 谈谈你对Android性能优化方面的了解?
- 一般什么情况下会导致内存泄漏问题?
- 自定义 Handler 时如何有效地避免内存泄漏问题?
- 哪些情况下会导致oom问题?
- ANR 出现的场景以及解决方案?
- 谈谈Android中内存优化的方式?
- 谈谈布局优化的技巧?
- Android 中的图片优化方案?
- ......
第五节 Android 中的 IPC
- 请简要谈谈Android系统的架构组成?
- SharedPreferences 是线程安全的吗?它的 commit 和 apply 方法有什么区别?
- Serializable和Parcelable的区别?
- 请简述一下 Android 7.0 的新特性?
- 谈谈ArrayMap和HashMap的区别?
- 简要说说 LruCache 的原理?
- 为什么推荐用SparseArray代替HashMap?
- ......
第六节 Android 系统 SDK 相关
- 请简要谈谈Android系统的架构组成?
- SharedPreferences 是线程安全的吗?它的 commit 和 apply 方法有什么区别?
- Serializable和Parcelable的区别?
- 请简述一下 Android 7.0 的新特性?
- 谈谈ArrayMap和HashMap的区别?
- 简要说说 LruCache 的原理?
- 为什么推荐用SparseArray代替HashMap?
- PathClassLoader和DexClassLoader有何区别?
- ......
第七节 第三方框架分析
- 谈一谈LeakCanray的工作原理?
- 谈一谈EventBus的原理?
- 谈谈网络请求中的拦截器(Interceptor)?
- 谈一谈Glide的缓存机制?
- ViewModel的出现是为了解决什么问题?并简要说说它的内部原理?
- 请说说依赖注入框架ButterKnife的实现原理?
- 谈一谈RxJava背压原理?
- ......
第八节 综合技术
- 请谈谈你对 MVC 和 MVP 的理解?
- 分别介绍下你所知道Android的几种存储方式?
- 简述下热修复的原理?
- 谈谈如何适配更多机型的?
- 请谈谈你是如何进行多渠道打包的?
- ......
第九节 数据结构方面
- 什么是冒泡排序?如何优化?
- 请用 Java 实现一个简单的单链表?
- 如何反转一个单链表?
- 谈谈你对时间复杂度和空间复杂度的理解?
- 谈一谈如何判断一个链表成环?
- ......
第十节 设计模式
- 请简要谈一谈单例模式?
- 对于面向对象的六大基本原则了解多少?
- 请列出几种常见的工厂模式并说明它们的用法?
- 说说项目中用到的设计模式和使用场景?
- 什么是代理模式?如何使用?Android源码中的代理模式?
- 谈一谈单例模式,建造者模式,工厂模式的使用场景?如何合理选择?
- ......
第十一节 计算机网络方面
- 请简述 Http 与 Https 的区别?
- 说一说https,udp,socket区别?
- 请简述一次http网络请求的过程?
- 谈一谈TCP/IP三次握手,四次挥手?
- 为什么说Http是可靠的数据传输协议?
- ......
第十二节 Kotlin方面
- 请谈谈Kotlin中的Coroutines,它与线程有什么区别?有哪些优点?
- Kotlin中该如何安全地处理可空类型?
- 说说Kotlin中的Any与Java中的Object有何异同?
- Kotlin中的数据类型有隐式转换吗?为什么?
- Kotlin中集合遍历有哪几种方式?
- ......
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
更多面试可以查看我的个人介绍!!!