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

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

项目准备:

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


相关文章
|
21小时前
|
网络协议 算法 安全
小米安卓春招面试一面
小米安卓春招面试一面
17 3
|
1天前
|
缓存 网络协议 Java
Android面试题之Java网络通信基础知识
Socket是应用与TCP/IP通信的接口,封装了底层细节。网络通信涉及连接、读写数据。BIO是同步阻塞,NIO支持多路复用(如Selector),AIO在某些平台提供异步非阻塞服务。BIO示例中,服务端用固定线程池处理客户端请求,客户端发起连接并读写数据。NIO的关键是Selector监控多个通道的事件,减少线程消耗。书中推荐《Java网络编程》和《UNIX网络编程》。关注公众号AntDream了解更多。
11 2
|
1天前
|
XML JSON Java
Android面试题 之 网络通信基础面试题
序列化对比:Serializable码流大、性能低;XML人机可读但复杂;JSON轻量、兼容性好但空间消耗大;ProtoBuff高效紧凑。支持大量长连接涉及系统限制调整、缓冲区优化。select/poll/epoll是IO多路复用,epoll在高连接数下性能更优且支持边缘触发。水平触发持续通知数据,边缘触发仅通知新数据。直接内存减少一次拷贝,零拷贝技术如sendfile和MMAP提升效率。关注公众号"AntDream"了解更多技术细节。
7 1
|
2天前
|
Android开发 Kotlin
Android面试题 之 Kotlin DataBinding 图片加载和绑定RecyclerView
本文介绍了如何在Android中使用DataBinding和BindingAdapter。示例展示了如何创建`MyBindingAdapter`,包含一个`setImage`方法来设置ImageView的图片。布局文件使用`<data>`标签定义变量,并通过`app:image`调用BindingAdapter。在Activity中设置变量值传递给Adapter处理。此外,还展示了如何在RecyclerView的Adapter中使用DataBinding,如`MyAdapter`,在子布局`item.xml`中绑定User对象到视图。关注公众号AntDream阅读更多内容。
9 1
|
4天前
|
Android开发
Android面试题之activity启动流程
该文探讨了Android应用启动和Activity管理服务(AMS)的工作原理。从Launcher启动应用开始,涉及Binder机制、AMS回调、进程创建、Application和Activity的生命周期。文中详细阐述了AMS处理流程,包括创建ClassLoader、加载APK、启动Activity的步骤,以及权限校验和启动模式判断。此外,还补充了activity启动流程中AMS的部分细节。欲了解更多内容,可关注公众号“AntDream”。
7 1
|
4天前
|
vr&ar 数据库 Android开发
Android面试题之ActivityManagerService的启动流程
本文探讨了Android系统的SystemServer启动过程,包括创建SystemContext、引导服务、启动各类核心服务以及AMS的启动和初始化。AMS负责管理activity、广播队列、provider等,并设置SystemProcess,安装系统Provider。当AMS调用SystemReady时,系统UI准备启动,启动Launcher。文中还对比了init、zygote和system_server进程的角色。最后推荐了两本关于Android内核剖析的书籍:柯元旦教授的《Android内核剖析》和罗升阳的《Android系统源代码情景分析》。关注公众号AntDream获取更多内容。
6 0
|
4天前
|
JSON 安全 调度
Android面试题之Kotlin协程一文搞定
本文介绍了协程的基础知识,强调它是轻量级线程,用于处理耗时任务而不阻塞主线程,确保主线程安全。协程特点包括使异步逻辑同步化,并允许函数挂起和恢复。挂起函数由`suspend`关键字标识,只能在协程内部调用。挂起与阻塞的主要区别在于挂起不会导致主线程ANR。 结构化并发和协程作用域(如`CoroutineScope`、`GlobalScope`、`MainScope`等)提供了任务管理,文章还探讨了并发、启动模式、协程取消、超时任务以及资源释放等主题。
13 0
|
4天前
|
存储 Java 调度
Android面试题之Kotlin协程到底是什么?它是线程吗?
本文探讨了协程与线程的区别,指出协程并非线程,而是轻量级的线程替代。协程轻量体现在它们共享调用栈,内存占用少,仅需几个KB。协程切换发生在用户态,避免了昂贵的内核态切换。在Kotlin中,协程通过Continuation对象实现上下文保存,允许高效并发执行,而不会像线程那样消耗大量资源。通过`runBlocking`和`launch`示例展示了协程的非阻塞挂起特性。总结来说,协程的轻量主要源于内存占用少、切换开销低和高并发能力。
11 0
|
5天前
|
安全 Android开发 Kotlin
Android面试题之Kotlin的几种常见的类
这篇文章探讨了Kotlin编程语言中的初始化顺序、延迟初始化、惰性初始化、`lateinit`与`by lazy`的区别、初始化注意事项、继承、嵌套类、数据类、单例类和枚举类的使用,以及密封类的概念。文中通过示例代码详细解释了各种特性,并提醒读者关注初始化顺序和线程安全问题。同时,鼓励读者关注作者的公众号“AntDream”获取更多相关文章。
10 1
|
5天前
|
存储 Java 调度
Android面试题之Kotlin 协程的挂起、执行和恢复过程
了解Kotlin协程的挂起、执行和恢复机制。挂起时,状态和上下文(局部变量、调用栈、调度器等)被保存;挂起点通过`Continuation`对象处理,释放线程控制权。当恢复条件满足,调度器重新分配线程,调用`resumeWith`恢复执行。关注公众号“AntDream”获取更多并发知识。
15 2