Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)

简介: Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)


  1. 多态的原理
  2. jvm垃圾回收算法
  3. 线程与进程的区别
  4. 进程间通信
  5. ArrayList与LinkedList的区别
  6. Java线程间怎么实现同步,notify()与notifyAll()的区别
  7. 什么是函数重载,原理是什么?
  8. http 的工作原理
  9. tcp 三次握手
  10. 线程的调度状态图
  11. 手写冒泡
  12. 手写单例包括多线程下

二面(群面:挂)

讲项目

网龙 (android 开发)

面试体验很差,面试官感觉什么都没准备看我的简历然后就看我写的专业技能就开问了,全程没表情,,,。

  1. android 切换屏生命周期的改变
  2. 知道有几种排序?说说堆排序原理?这题真的会被气死,我都把堆排序怎么实现,为什么这样可以实现排序,都推了一遍,他说了句你说的只是实现,不是原理。。。表示很无奈,难道算法是靠背的?
  3. 说说你对索引的理解
  4. 设计模式分哪3大块,说说行为形的其中一个
  5. 讲项目

面试体验实在太差,还有几题吧,也想不起来了,面完我就觉得没戏了

美团(android开发

不得不说美团的面试官还有面试流程都超赞的。

一面:

自我介绍

  1. 线程与进程的区别
  2. 进程间的通信方式
  3. 什么是同步
  4. 进程间可以通过什么方法实现同步
  5. 说说死锁是怎么产生的
  6. 那么怎么避免和解决死锁
  7. tcp与udp的区别
  8. udp怎么实现可靠传输
  9. 接着对我上面回答继续问,什么是流量控制,什么是拥塞控制
  10. 对http有什么了解(我讲了http工作原理)
  11. 接上题TCP的三次握手是什么,为什么不用两次
  12. 对https有什么了解
  13. 数据索引的原理是什么
  14. 有没什么方法可以优化数据的查询
  15. 数据库事务四大特征
  16. 数据库事务的隔离级别分别是什么,什么作用
  17. 进程的调度方式有哪几种

接着手写两道算法题

秒杀

一面主要问基础,那时才发现原来我基础还可以哈,基本都答上来了。还有一面面试官很帅哈哈。

二面:

二面面试官特别好,一直微笑,给人特别和蔼的感觉,真是很幸运能遇到这么好的面试官。

先自我介绍

  1. 讲了下自己的经历
  2. 平常怎么学习的,怎么自己自学的android
  3. get跟post的区别
  4. https的原理
  5. 什么是对称加密,什么是非对称加密,知道的加密算法有哪些?
  6. android view的绘制原理
  7. android 的四大组件,分别是做什么
  8. android广播有哪几种
  9. LinearLayout与RelativeLayout的区别,什么情况下使用LinearLayout什么情况下使用RelativeLayout
  10. 怎么实现一个如果布局的层次深度超过50,提示开发者注意布局
  11. 怎么实现监听手机网络状态的改变
  12. 说说c++与Java有什么不同
  13. 接口与抽象有什么不同
  14. Java怎么实现多继承
  15. 上题讲了内部类,就接着问静态内部类与非静态内部类的区别
  16. java类的加载机制
  17. jvm垃圾回收机制
  18. 继续讲项目,问了项目中的几点实现

还有的忘记了,二面问了android比较多,自己报的岗位也是android。

三面:

三面的面试官真的很有耐心,全程听完我讲的框架,为自己感到幸运。

  1. 谈谈自己未来的发展方向
  2. 平时怎么学习的
  3. 对工作地点有什么要求
  4. 老家在哪

开始切入正题

  1. 做过的项目遇到过什么困难
  2. 开始讲自己写的框架(这个讲了很久)
  3. 内存泄漏与内存溢出的区别
  4. android什么时候回出现内存泄漏
  5. 有没遇到过OOM,怎么避免OOM
  6. 常用的集合
  7. 线程安全的集合有哪些
  8. ConcurrentHashMap原理是什么
  9. 让我多看看源码,学习一下别人写的框架
HR面:

0.期望的工作地点

  1. 老家在哪
  2. 期望的薪资
  3. 谈谈自己的优缺点
  4. 未来打算怎么发展
  5. 如果老板给你一个你一个人无法完成的任务,你会怎么办
  6. 了解美团吗?
  7. 手里有没offer,有没实习过

最终美团Offer get

面试怎么准备

基础准备:
  • 计算机网络 ,TCP/IP(推荐 TCP/IP详解)
  • 操作系统 (教材就可以)
  • 数据结构与算法(数据结构看教材就可以,算法 ,看剑指Offer)
  • 数据库基本语法与原理 ( 推荐:高性能Mysql)
  • java ( java核心卷I)
  • Java 多线程 (Java多线程编程核心技术)
  • 设计模式 (教材)
  • linux (教材)
  • Http

这些可以复习一遍书上的知识,再结合看面经(后面有整理,需要的自行领取!),很快就很熟悉了

项目准备:

对于要不要有项目这一点不是绝对的,个人觉得最好是有项目,不然面试官基础问完基本上也没什么可问的了。


相关文章
|
6天前
|
ARouter IDE 开发工具
Android面试题之App的启动流程和启动速度优化
App启动流程概括: 当用户点击App图标,Launcher通过Binder IPC请求system_server启动Activity。system_server指示Zygote fork新进程,接着App进程向system_server申请启动Activity。经过Binder通信,Activity创建并回调生命周期方法。启动状态分为冷启动、温启动和热启动,其中冷启动耗时最长。优化技巧包括异步初始化、避免主线程I/O、类加载优化和简化布局。
26 3
Android面试题之App的启动流程和启动速度优化
|
7天前
|
安全 Java 编译器
Android面试题之Java 泛型和Kotlin泛型
**Java泛型是JDK5引入的特性,用于编译时类型检查和安全。泛型擦除会在运行时移除类型参数,用Object或边界类型替换。这导致几个限制:不能直接创建泛型实例,不能使用instanceof,泛型数组与协变冲突,以及在静态上下文中的限制。通配符如<?>用于增强灵活性,<? extends T>只读,<? super T>只写。面试题涉及泛型原理和擦除机制。
15 3
Android面试题之Java 泛型和Kotlin泛型
|
4天前
|
缓存 JSON 网络协议
Android面试题:App性能优化之电量优化和网络优化
这篇文章讨论了Android应用的电量和网络优化。电量优化涉及Doze和Standby模式,其中应用可能需要通过用户白名单或电池广播来适应限制。Battery Historian和Android Studio的Energy Profile是电量分析工具。建议减少不必要的操作,延迟非关键任务,合并网络请求。网络优化包括HTTPDNS减少DNS解析延迟,Keep-Alive复用连接,HTTP/2实现多路复用,以及使用protobuf和gzip压缩数据。其他策略如使用WebP图像格式,按网络质量提供不同分辨率的图片,以及启用HTTP缓存也是有效手段。
27 9
|
3天前
|
前端开发 JavaScript 测试技术
安卓应用开发中的架构模式解析
【6月更文挑战第21天】在软件开发领域,架构模式是设计优雅、高效、可维护应用程序的基石。本文深入探讨了安卓应用开发中常见的架构模式,包括MVC、MVP、MVVM和Clean Architecture,旨在为开发者提供一个清晰的指导,帮助他们选择最适合自己项目的架构风格。通过对比分析这些架构模式的特点、优势以及适用场景,文章揭示了如何根据项目需求和团队能力来采用恰当的架构模式,以实现代码的可维护性、可扩展性和可测试性。
23 7
|
4天前
|
算法 安全 网络协议
java高级面试题_java面试题大全带答案_线程面试题_java面试宝典2019
java高级面试题_java面试题大全带答案_线程面试题_java面试宝典2019
|
7天前
|
网络协议 算法 安全
小米安卓春招面试一面
小米安卓春招面试一面
22 3
|
8天前
|
缓存 网络协议 Java
Android面试题之Java网络通信基础知识
Socket是应用与TCP/IP通信的接口,封装了底层细节。网络通信涉及连接、读写数据。BIO是同步阻塞,NIO支持多路复用(如Selector),AIO在某些平台提供异步非阻塞服务。BIO示例中,服务端用固定线程池处理客户端请求,客户端发起连接并读写数据。NIO的关键是Selector监控多个通道的事件,减少线程消耗。书中推荐《Java网络编程》和《UNIX网络编程》。关注公众号AntDream了解更多。
18 2
|
8天前
|
XML JSON Java
Android面试题 之 网络通信基础面试题
序列化对比:Serializable码流大、性能低;XML人机可读但复杂;JSON轻量、兼容性好但空间消耗大;ProtoBuff高效紧凑。支持大量长连接涉及系统限制调整、缓冲区优化。select/poll/epoll是IO多路复用,epoll在高连接数下性能更优且支持边缘触发。水平触发持续通知数据,边缘触发仅通知新数据。直接内存减少一次拷贝,零拷贝技术如sendfile和MMAP提升效率。关注公众号&quot;AntDream&quot;了解更多技术细节。
12 1
|
9天前
|
Android开发 Kotlin
Android面试题 之 Kotlin DataBinding 图片加载和绑定RecyclerView
本文介绍了如何在Android中使用DataBinding和BindingAdapter。示例展示了如何创建`MyBindingAdapter`,包含一个`setImage`方法来设置ImageView的图片。布局文件使用`&lt;data&gt;`标签定义变量,并通过`app:image`调用BindingAdapter。在Activity中设置变量值传递给Adapter处理。此外,还展示了如何在RecyclerView的Adapter中使用DataBinding,如`MyAdapter`,在子布局`item.xml`中绑定User对象到视图。关注公众号AntDream阅读更多内容。
17 1
|
11天前
|
Android开发
Android面试题之activity启动流程
该文探讨了Android应用启动和Activity管理服务(AMS)的工作原理。从Launcher启动应用开始,涉及Binder机制、AMS回调、进程创建、Application和Activity的生命周期。文中详细阐述了AMS处理流程,包括创建ClassLoader、加载APK、启动Activity的步骤,以及权限校验和启动模式判断。此外,还补充了activity启动流程中AMS的部分细节。欲了解更多内容,可关注公众号“AntDream”。
13 1