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

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

项目准备:

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


相关文章
|
7月前
|
安全 Android开发 iOS开发
深入探索Android与iOS的差异:从系统架构到用户体验
在当今的智能手机市场中,Android和iOS无疑是最受欢迎的两大操作系统。本文旨在探讨这两个平台之间的主要差异,包括它们的系统架构、开发环境、安全性、以及用户体验等方面。通过对比分析,我们可以更好地理解为何不同的用户群体可能会偏好其中一个平台,以及这些偏好背后的技术原因。
|
7月前
|
Android开发 Swift iOS开发
深入探索iOS与Android操作系统的架构差异及其对应用开发的影响
在当今数字化时代,移动设备已经成为我们日常生活和工作不可或缺的一部分。其中,iOS和Android作为全球最流行的两大移动操作系统,各自拥有独特的系统架构和设计理念。本文将深入探讨iOS与Android的系统架构差异,并分析这些差异如何影响应用开发者的开发策略和用户体验设计。通过对两者的比较,我们可以更好地理解它们各自的优势和局限性,从而为开发者提供有价值的见解,帮助他们在这两个平台上开发出更高效、更符合用户需求的应用。
|
3月前
|
人工智能 前端开发 Java
DDD四层架构和MVC三层架构的个人理解和学习笔记
领域驱动设计(DDD)是一种以业务为核心的设计方法,与传统MVC架构不同,DDD将业务逻辑拆分为应用层和领域层,更关注业务领域而非数据库设计。其四层架构包括:Interface(接口层)、Application(应用层)、Domain(领域层)和Infrastructure(基础层)。各层职责分明,避免跨层调用,确保业务逻辑清晰。代码实现中,通过DTO、Entity、DO等对象的转换,结合ProtoBuf协议,完成请求与响应的处理流程。为提高复用性,实际项目中可增加Common层存放公共依赖。DDD强调从业务出发设计软件,适应复杂业务场景,是微服务架构的重要设计思想。
|
6月前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
448 81
|
4月前
|
Android开发 开发者 Kotlin
Android实战经验之Kotlin中快速实现MVI架构
MVI架构通过单向数据流和不可变状态,提供了一种清晰、可预测的状态管理方式。在Kotlin中实现MVI架构,不仅提高了代码的可维护性和可测试性,还能更好地应对复杂的UI交互和状态管理。通过本文的介绍,希望开发者能够掌握MVI架构的核心思想,并在实际项目中灵活应用。
127 8
|
5月前
|
编译器 Android开发 开发者
Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
Lambda表达式和匿名函数都是Kotlin中强大的特性,帮助开发者编写简洁而高效的代码。理解它们的区别和适用场景,有助于选择最合适的方式来解决问题。希望本文的详细讲解和示例能够帮助你在Kotlin开发中更好地运用这些特性。
85 9
|
6月前
|
网络协议 Linux Android开发
深入探索Android系统架构与性能优化
本文旨在为读者提供一个全面的视角,以理解Android系统的架构及其关键组件。我们将探讨Android的发展历程、核心特性以及如何通过有效的策略来提升应用的性能和用户体验。本文不包含常规的技术细节,而是聚焦于系统架构层面的深入分析,以及针对开发者的实际优化建议。
193 21
|
6月前
|
存储 Linux API
深入探索Android系统架构:从内核到应用层的全面解析
本文旨在为读者提供一份详尽的Android系统架构分析,从底层的Linux内核到顶层的应用程序框架。我们将探讨Android系统的模块化设计、各层之间的交互机制以及它们如何共同协作以支持丰富多样的应用生态。通过本篇文章,开发者和爱好者可以更深入理解Android平台的工作原理,从而优化开发流程和提升应用性能。
|
6月前
|
安全 Android开发 iOS开发
深入探索iOS与Android系统架构差异及其对开发者的影响
本文旨在通过对比分析iOS和Android两大移动操作系统的系统架构,探讨它们在设计理念、技术实现及开发者生态方面的差异。不同于常规摘要仅概述内容要点,本摘要将简要触及核心议题,为读者提供对两大平台架构特点的宏观理解,铺垫
|
7月前
|
IDE 安全 Android开发
深入探索Android与iOS操作系统的架构差异
本文旨在对比分析Android和iOS两大主流移动操作系统在架构设计上的根本差异。通过详细解读两者的系统架构、开发环境、以及安全性等方面,揭示它们各自的特点及优势,为开发者选择合适的平台提供参考。