小红书客户端一二三面

一面:
问项目:
在项目中做了什么优化,你是怎么实现的这些功能,解决了什么问题
页面效果优化、代码优化,和自己的优化想法
handler
你觉得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面通知,已经通过技术面了
其实还是蛮喜欢问项目问经历问优化想法的,算法真的不是我长项,太菜了呜呜呜。
没有细细问基础,甚至一面让我写多线程下单例,我问简单点的还是复杂点的,也就是饿汉式和双重校验锁,面试官直接说你知道就不写了。我问面试官是不是要问事件分发,面试官直接说,你别说了,下一个问题。哈哈哈哈

秋招到现在的面试经历都很愉快,让我快快上岸吧


#面经##校招##小红书##安卓工程师#
全部评论
一面完直接二面,周末两天面完三面,效率太高了
点赞 回复 分享
发布于 2020-09-20 11:52
上午一面完,还没收到通知,凉透了😭
点赞 回复 分享
发布于 2020-09-20 14:53
羡慕lz惹
点赞 回复 分享
发布于 2020-09-20 15:33
我昨天一面-四面连着来的,小红书效率确实高
点赞 回复 分享
发布于 2020-09-20 18:10
想问下lz是9.12做笔试的吗😶
点赞 回复 分享
发布于 2020-09-20 20:34
页面效果优化、代码优化这一块要怎么回答啊
点赞 回复 分享
发布于 2020-09-20 22:07
楼主hr面都问了些什么呀
点赞 回复 分享
发布于 2020-09-24 22:13
三面不是总监嘛?还技术面?
点赞 回复 分享
发布于 2020-10-21 23:51
小红书后来大约多久让你签两方的?
点赞 回复 分享
发布于 2020-10-23 11:13

相关推荐

01-02 22:35
门头沟学院 Java
社区工程一面(50min)拷打实习native层怎么调Java层函数。了解Native层和Java层内存模型的差异吗你在字节的工作?Activity的生命周期onStart和onResume的区别你怎么学安卓的了解View的绘制吗ViewGroup里面一些子View,是怎么个绘制流程如果ViewGroup自己有内容呢Layout是怎么做的点击屏幕发生的事具体场景,一个ScrollView里有个按钮,点击按住不动,向上滑动,事件分发过程是怎样的讲讲Java里的集合ArrayList忽然LinkedList的区别是什么Hash集合和Tree集合的区别是什么了解过Java中的并发吗,多线程间并发处理有哪些方法讲讲synchronized的特点讲讲volatile线程和协程的区别他们的上限有区别吗http和https的区别https握手过程算法题先增后降的数组去重并排序二面(37min)讲讲腾讯实习讲讲ClassLoader的双亲委派机制PathClassLoader和DexClassLoader的区别native怎么调javacpp的string转jstring的两种方式讲讲项目为什么用flutterDart是单线程模型,它内部是怎么做多线程并发的继续拷打实习大厂代码你有没有觉得什么很恶心的问题,你怎么看这个问题有什么治理手段吗拷打项目安卓中Binder的原理?你会不会觉得客户端能深钻的技术不多算法题(口答)n个人发糖果,相邻的人高的一定比矮的拿的多,至少要多少颗糖果编程题写一个生产者消费者模式三面(45min)你更喜欢做业务还是sdkJava中new一个String会创建几个对象抽象类和接口有什么区别final关键字有什么用cpp从源文件到可执行文件经历了什么可执行文件在操作系统怎么运行的调用一个函数,栈空间怎么变化返回值是放在哪的看你做过JNI,怎么动态和静态注册JNI?cpp的线程怎么call java的方法需要注意些什么安卓中遇到ui卡顿了你会怎么排查有没有用过一些工具你觉得kotlin和java比有什么优势你刚刚提到了协程,那协程是怎么实现的讲一下Handler的实现原理介绍一个你认为做的比较好的项目讲讲你在字节的工作算法题用两个栈实现队列
查看52道真题和解析
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
01-07 22:17
已编辑
字节 客户端 30*15+10W多签字费 大专
点赞 评论 收藏
分享
评论
7
36
分享

创作者周榜

更多
牛客网
牛客企业服务