Android开发者跳槽面试,真香!

目前情况:10届某民办大学本科生,实际接触Android年限6年多了,工作年限五年半(注意,我说的是工作年限,不是工作经验),今年1月份裸辞后歇了大半年,经常一周也收不到几个offer,好不容易熬到HR面,也因为薪资要求过高被放弃了,最终拿到一个并不是特满意的offer。

首先我想明确地说在目前的大环境下,移动互联网确实已经属于寒冬。尤其是Android/IOS开发,虽然说不上夕阳行业,但也离热门IT职业差了十万八千里。从之前大量小创公司因疫情原因倒闭破产,360、滴滴、携程等大厂实施裁员的新闻其实也能略见一二了。至于那些还存活着的小公司,对于移动端开发人员的要求。。。好像跑题了~还是说求职面试吧。

网上Android岗位招聘的需求来看:

Android岗位需求
要求掌握系统架构及相关技术,熟悉高级UI、framework源码,精通插件化、性能优化、Java开发经验。。。
视频面试给我的第一感觉就是题太难了,薪资低也就就算了,面试要求还贼高。

阿里面经

面试形式是电话面试,算法是面试官会给你邮箱发一个链接,然后在那个网站里面就可以同步共享屏幕,网站类似于一个编辑器,不能编译,写了代码面试官会看,交流还是在电话里面完成。

一面(1小时)

  • 重载与重写

  • final修饰符

  • 抽象类和接口

  • GC机制、原理

  • 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的图片,要考虑哪些

  • http与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。

更多学习和讨论,欢迎加入我们的知识星球!

点击这里加入我们吧!

群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

F%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)

群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

这里有2000+小伙伴,让你的学习不寂寞~·

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值