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

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

项目准备:

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


相关文章
|
3天前
|
Android开发 Swift iOS开发
深入探索iOS与Android操作系统的架构差异及其对应用开发的影响
在当今数字化时代,移动设备已经成为我们日常生活和工作不可或缺的一部分。其中,iOS和Android作为全球最流行的两大移动操作系统,各自拥有独特的系统架构和设计理念。本文将深入探讨iOS与Android的系统架构差异,并分析这些差异如何影响应用开发者的开发策略和用户体验设计。通过对两者的比较,我们可以更好地理解它们各自的优势和局限性,从而为开发者提供有价值的见解,帮助他们在这两个平台上开发出更高效、更符合用户需求的应用。
|
1月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
97 2
|
1月前
|
存储 前端开发 Java
Android MVVM架构模式下如何避免内存泄漏
Android采用MVVM架构开发项目,如何避免内存泄漏风险?怎样避免内存泄漏?
88 1
|
2月前
|
IDE Android开发 iOS开发
深入解析Android与iOS的系统架构及开发环境差异
本文旨在探讨Android和iOS两大主流移动操作系统在系统架构、开发环境和用户体验方面的显著差异。通过对比分析,我们将揭示这两种系统在设计理念、技术实现以及市场策略上的不同路径,帮助开发者更好地理解其特点,从而做出更合适的开发决策。
163 2
|
5天前
|
Java Linux Android开发
深入探索Android系统架构:从Linux内核到应用层
本文将带领读者深入了解Android操作系统的复杂架构,从其基于Linux的内核到丰富多彩的应用层。我们将探讨Android的各个关键组件,包括硬件抽象层(HAL)、运行时环境、以及核心库等,揭示它们如何协同工作以支持广泛的设备和应用。通过本文,您将对Android系统的工作原理有一个全面的认识,理解其如何平衡开放性与安全性,以及如何在多样化的设备上提供一致的用户体验。
|
4天前
|
安全 Android开发 iOS开发
深入探讨Android与iOS的系统架构差异
本文旨在通过对比分析Android和iOS两大移动操作系统的系统架构,揭示它们在设计理念、安全性、应用生态及开发环境等方面的显著差异。我们将从底层架构出发,逐步剖析至用户界面层面,为开发者和科技爱好者提供一份详尽的技术参考。
14 1
|
12天前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
在 Android 开发中,选择合适的架构模式对于构建中大型项目至关重要。常见的架构模式有 MVVM、MVP、MVI、Clean Architecture 和 Flux/Redux。每种模式都有其优缺点和适用场景,例如 MVVM 适用于复杂 UI 状态和频繁更新,而 Clean Architecture 适合大型项目和多平台开发。选择合适的架构应考虑项目需求、团队熟悉度和可维护性。
40 6
|
12天前
|
安全 搜索推荐 Android开发
深入探索Android与iOS的系统架构差异
【10月更文挑战第29天】 在当今的智能手机市场中,Android和iOS无疑是两大主流操作系统。本文旨在深入探讨这两个系统的架构差异,从底层的操作系统设计到用户界面的呈现,以及它们如何影响了开发者和用户的体验。通过对比分析,我们可以更清晰地理解这两种平台的优势与局限,为开发者在选择开发平台时提供有价值的参考,同时也为用户选择设备提供一定的指导。
31 2
|
22天前
|
前端开发 JavaScript 测试技术
Android适合构建中大型项目的架构模式全面对比
Android适合构建中大型项目的架构模式全面对比
40 2
|
23天前
|
存储 前端开发 测试技术
Android kotlin MVVM 架构简单示例入门
Android kotlin MVVM 架构简单示例入门
28 1