写点什么

自学 Android,面试被怼,看我如何拿下阿里 offer

用户头像
Android架构
关注
发布于: 6 小时前
  • finalize( )的理解

  • GC 机制如何判定哪些对象需要回收

  • GCRoots 有哪些

  • 四种引用

  • 垃圾收集算法

  • Hash Map 与 Hash table 的区别

  • 怎么让 Hash map 线程安全

  • Thead Loocal 了解吗?

  • 线程同步的几种方式

  • 加锁与 synchromized 区别

  • Volatile 了解吗

  • JVM 内存模型

  • leakCanary 内部机制

  • Handler 内部机制

  • MNC 与 MVP 的区别,以登陆模块为例讲一下每层的工作

  • EventBus 的原理

  • 布局优化 include.merge,viewStub

  • view 的绘制流程,自定义 View

  • 时间分发机制的区别

  • JVM 与 Dalvik 区别 (Android 虚拟机)


二面(50 分钟)


  • 自我介绍

  • abstract 和 interface 区别

  • int 和 Integer 区别

  • 四种引用

  • Java 里面 int、char、long 的字节数

  • 线程的创建方式

  • RxJava 的优缺点

  • EventBus(???不会)

  • 从网络上加载一个 10M 的图片,要考虑哪些

  • ht


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


tp 与 https


  • http 1.0 和 http 2.0 之间的区别

  • 设计模式准则(全忘了)

  • Handler 机制

  • 算法:判断一个链表是否回文

  • 算法:给定一个数组,将数组里面的每一位向后移动 k 位


三面(40 分钟)


  • HashNlap 与 Hashtable 的区别

  • Hashtable 怎么实现了线程安全,效率低。为什么?

  • Android 线程池通信的方式

  • TCP 三次握手

  • 内存泄漏的几种情况

  • 进程的优先级

  • 非静态内部类为什么持有外部类的引用

  • 在 JVM 中非静态寸内部类的,class 是单独的还是在外部类的 class 中?内部类的 class 文件名为“外部类¥内部类.class”

  • Activity 启动模式

  • Activity 启动流程

  • Handler 机制?为什么会存在内存泄漏?

  • MVP 是怎么实现的

  • Glide 原理?怎么实现缓存

面试心得

1. 算法题怎么答


面试官可能会问到你闻所未闻的算法,这时候你不应该自己瞎想,而是先和面试官把问题讨论清楚。要知道,通过沟通弄明白复杂的问题也是一种能力,在和面试官交流的过程中,不仅仅可以搞清楚题目真正的意思是什么,还可以展现自己良好的交流沟通能力。所以千万不要因为紧张或者害羞而浪费这次大好的机会。有些题目似曾相识,但是暂时没有思路。这时候不妨告诉面试官,给我一些时间思考这个题。然后不要急,不要慌,就当他不存在,拿出纸和笔慢慢算(这充分说明了面试戴耳机的重要性)。你一定要坚定一个信念:“任何一道稍微有难度的算法题,除非做过,否则一定是需要时间想的”。所以,合理的安排思考时间吧。如果十几分钟都想不出来,可以直接放弃。


2. 遇到不会的问题怎么处理


这个问题有可能是面试官故意说得含糊不清,考察你的交流能力,也有可能是无意的,或者是你的理解方式出现了偏差。不管是以上哪种问题,你都应该先和面试官交流,直到你搞懂了面试官要问你什么,而不是按照自己的理解说了一堆无用的东西。举个例子,面试官可能会问了一道算法题:“如何判断两个无限长度的链表是否有交点?”。对于“无限长度”可以有不同的理解,如果真的是有无穷多个节点,那显然这个问题是无法解决的。但如果链表仅仅是有环,那么还是可以解决的。如果面试官的本意是链表有环,但你错误的理解成了无穷多个节点,那么必然会导致无法回答这个问题。而且这并非能力不足,而是属于交流沟通方面的失误,这也正是我想分享的“技巧”。


3. 遇到真的不会的问题怎么处理


遇到不会的问题果断承认啊。如果是基本问题,比如问你哈希表怎么实现,你说不会,那么这次面试可能就悬了。如果是有一定难度的问题,那么你承认不会,也是一种明智之举,毕竟人无完人,一个问题不会并不能全盘否定一个人的能力。


4.心态


面试的时候一定要控制好心态,一个好的心态往往更容易拿到 offer。

面试前的复习方法

一.多看一些实战项目视频



二.多刷一些算法题


为了提高算法能力,我刷完《剑指 offer》,了解面试官出题的套路;还在 LeetCode 上 AC 了 20 多道 Hard 难度的题,在牛客上 AC20 多道低通过率编程题,加强手撕代码的能力。



刷题也要有方法


1. 刷前思考算法!


不要看到题目就手痒,二话不说 public void main。


面试官也不喜欢莽莽撞撞的学员,最好的做法是,看好题目,思考该用的算法模型,然后清晰地跟面试官说出自己的思路和解法,得到面试官的认可之后再继续写。


2. 刷时牢记规范!

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
自学Android,面试被怼,看我如何拿下阿里offer