此次小红书移动端开发面试之旅可谓惊险,不过通过对大部分面试题套路的掌握,不出意外还是拿下了,下面我们来看看这些骚题是不是常见的不能再常见的了。这些面试题看了就能面上?当然不是,只是通过这些题让自己知道所欠缺的是什么,以及可以去看看哪些资料。
一面:
- 在项目中做了什么优化,你是怎么实现的这些功能,解决了什么问题 ,页面效果优化、代码优化,和自己的优化想法
- 你觉得handler有哪些缺点:使用不方便,内存泄漏
- 如何优化handler使用(static, HandlerThread
- 单例模式
- 手写快排
- mvp、mvc、mvvm
- 说一下ViewModel
- 简单地说了Lifecycle、LiveData这些
反问:
- 面试官做什么:架构和性能优化
- 技术氛围:不限于你使用什么技术,可行可靠就可以
- 问对性能优化的见解:要靠数据说话
- 多少技术面:三面技术面
二面:
-
问项目问经历
-
handler
-
问我线程间的通信方式除了handler,Rxjava还有什么
-
说了共享变量加锁
-
你知道什么锁(说了乐观锁、悲观锁、公平锁和非公平锁
-
讲一下公平锁和非公平锁
-
算法题:给两个字符串s1和s2,判断s2中是否存在s1的全排列序列
-
只写出来了全排列,面试官说很接近了,调用String.contains遍历,或者滑动窗口,kmp算法
查找第k小的数
呜呜呜我太菜了 最后闲聊了很多,问面试官做什么的,面试官说除了搜索和添加内容,都是他们组做的
面试官给我的感觉特别好,慢慢悠悠的,也不催我写算法,在我写算法的时候自己码代码,也不急着吃饭
问我用过小红书吗
问我为什么学习安卓,在比较别的技术之后为什么还学习
你们实验室女生多不多(对我是女孩纸
说今年客户端男女比1:1
就问了一下基本情况
收到三面通知了
三面:
- 问了一下实验室的项目做什么的
- 实习项目做了什么
- 问我学到了什么
- 问mvp
- 然后就开始做算法题
- 实现一个添加、删除、随机获得元素都是O(1)的数据结构
- 只想到了hashmap,面试官提示用组合
- 想到了数组
- hashmap和数组组合
- hashmap存储元素和索引,数组存放元素,删除元素时从hashmap中找到元素和索引,将list中的元素和结尾元素交换,再删除,并从hashmap中删除该元素和更新索引值
在面试官的提示和引导下坑坑巴巴写出来了呜呜呜
三面面试官也特别好,不会的问题都给你引导和提示
没啥反问,毕竟面试官一登场就自我介绍完了
收到四面通知,可能因为今天是周日面试官不想面了,打电话问hr,hr说等到周一hr面通知,已经通过技术面了
其实还是蛮喜欢问项目问经历问优化想法的,算法真的不是我长项,太菜了呜呜呜。
没有细细问基础,甚至一面让我写多线程下单例,我问简单点的还是复杂点的,也就是饿汉式和双重校验锁,面试官直接说你知道就不写了。
我问面试官是不是要问事件分发,面试官直接说,你别说了,下一个问题。哈哈哈哈
总结
请记下以下几点:
- 公司招你去是干活了,不会因为你怎么怎么的而降低对你的要求标准。
- 工具上面写代码和手撕代码完全不一样。
- 珍惜每一次面试机会并学会复盘。
- 对于应届生主要考察的还是计算机基础知识的掌握,项目要求没有那么高,是自己做的就使劲抠细节,做测试,只有这样,才知道会遇到什么问题,遇到什么难点,如何解决的。从而可以侃侃而谈了。
- 非科班也不要怕,怕了你就输了!一定要多尝试。
漫漫Android开发之路,你我只是其中的一小部分……只有不断的学习、进阶,才是我们的出路!才跟得上时代的进步!
最后把大牛收录整理的一份学习资料免费分享给大家,内容包含:Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容
这些都是我现在闲暇还会反复翻阅的精品资料。里面对近几年的大厂面试高频知识点都有详细的讲解。相信可以有效的帮助大家掌握知识、理解原理。
分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。也是希望可以帮助到大家提升进阶
相信它会给大家带来很多收获。如果你有需要的话,可以点击获取!
喜欢本文的话,不妨顺手给我点个赞、评论区留言或者转发支持一下呗~
网友评论