胖哥五年了呀
之前都是肉嘟嘟的小胖孩,或者肥小胖,现在大家总是叫我胖哥,那我就胖哥自居了哈(不过他会瘦的呀)!!!!这个帖子是干嘛的呢?哈哈,对的,那个男人开启了新的一段旅程了。思前想后,还是打算来牛客网写下一页吧,也算是给自己,给大家一个回复哈哈哈!!!
从字节到快手,在来到现在的小红书,真的有时候感触挺深的。刚毕业的时候感觉努力就好啦,我现在还清楚的记得,当时字节的一面面试官问我,你有什么自己的名言警句呢,我说“努努力,小白也会变成大牛的”,但是回想一下,感觉你能不能上去,真的看机会,看运气,当然也不是说才华努力不重要,懂的人自然就理解我的意思了,但是还是希望做那个纯粹的自己。
胖哥就面试了一家小红书,大家也知道行情不太好,或者说最近接的住和招人的可能就是这家公司了!!
对了,也欢迎大家成为“小红薯”哦,可以找我内推哦!!!
我去的是业务部门,部门一面+其他部门交叉二面+leader三面+leader的老板四面+Hr面,一般来说,前三面,每一面都会一道题的。重点提一下,工作快五年了,这个时候你的项目就很重要了,一般来说侧重于,哪些是你负责的,怎么设计的,有什么待优化的,和业内对比对比(如果你有什么大的项目的话),算法啥的一般来说重要性就会下降。而且平时没事多做一些技术类的工作,你的简历真的很丰满。
面试记录
- 你的项目用到了预加载队列设计,你怎么设计的?解决哪些问题?
- 你这边开了一个动态化的框架协议,你了解阿里,美团的框架RN吗?
- 他们是怎么做的原理什么样的,性能如何,瓶颈在哪里,你的优势在哪里?性能传输?
- 你这边负责了一个重构,用到了Okhttp的拦截器设计?
- OkHttp一些拦截器的设计?你是怎么处理的?你的为什么是单向?
- 你是负责广告激励的,整个模块的架构怎么搭建的,数据指标的这一套系统怎么创建的?你负责什么角色?
- 你这边负责哪些性能指标,你是怎么优化的?比如Android的一些性能优化你是怎么做的?
- 比如冷启动,怎么优化呢?耗时?你说分阶段,怎么分呢?指标怎么观测的呢?
- 你负责的动态框架,你说减少了布局层级,你是怎么做的?有哪些好处?
大概这些吧,其他的有点忘记了,主要是围绕项目,顺带一些Android的知识,不会直接问八股文。很多问看看着好答,其实不然?主要看看你的方案,代码设计能力,以及整个链路怎么弄的。比如冷启动,没看过,真的问你,你不好回答。
算法
有三种括号,(),{},[] 是否匹配,就是栈,很好理解 “{{(())}}” 这种是输出true “([])” 也是true
- handler原理?线程怎么切换的?切换原理?知道IdleHanlder吗?
- 用到的预加载设计,缓存命中率?那你知道Android的缓存框架吗?(有一些我没听过)
- SP,mmkv?知道mmap吗?
- Android View的绘制流程和绘制原理?用到什么,handler屏障,干嘛用的?
- 我说了原理,以及我在项目中的一些用法。
- Java的线程池,构建的核心参数,最大线程数是多少,添加的时候,次序怎么样的,直接运行吗?巴拉巴拉一大堆
- Java的锁,用的多吗?性能如何,你认为呢,你个人的感觉?为什么好?一些锁怎么实现的,原理是啥?
- 你说Okhttp,有哪些设计模式你感觉用的好?拦截器好在哪里?
- 单例知道哪些,你一般怎么用,我就说饿汉式,问为啥,我说方便,单例我构建我一定会用的。
- 那么饿汉,怎么保证安全,我说类加载就构建了,虚拟机方面就保证了,不需要你做啥了
- Java线程,Kotlin协程,有啥区别呢?感觉优缺点呢?
- Android事件分发,在ViewGroup和View中有什么区别,那么怎么定义一个通用的下拉刷新控件?
- 我写过,在dispatch操作,这个方法是所有方法的入口。
- Android自定义View呢,测量模式,在ViewGroup和View中有啥区别呢?
- 你做的动态化框架怎么弄的,其他方案的对比?优劣在哪里?
- Java虚拟机和Android虚拟机?干嘛的,做是什么?区别?dex,class呢?
算法
蛇形打印二叉树 有一点,需要你在赛码网运行出来,没有智能提示,所以平时大家多练习。
- 你是做广告的,广告的一些收益指标?你是怎么做监控的,一些广告刷不出来,怎么处理测试的?
- 你们接入很多SDK怎么维护的
- 我说,我做了一个重构,IOC以来注入,包体积大小采用Google的DFM插件化
- 问,Google的DFM插件原理是什么,他是怎么处理的?
- 你说你的动态化框架,减少了布局层级?
- 但是测量和布局都有,你没有绘制,那么空的ViewGroup会触发绘制吗?区别呢?
- 你说你参与了很多SDK研发,从0到1搭建一个SDK,怎么分层设计?
- 性能优化有吗?性能端上怎么做,做哪些优化?监控,怎么监控的呢?
- 包体积瘦身,怎么做的,我说DFM,问,国内呢?我说插件,问,区别是什么?原理呢?
- 动态化框架,你说PB传输小,你们的压缩算法啥样的,怎么体现的?负载如何?
最后HR面试,就是问为什么换工作?规划等,Hr人不错,挺好的。
大概记得这么多,提醒下,真的平时项目的技术项目,整个的业务模块,或者重构,一定要上心,真的很重要。好啦,胖哥开始新的旅程了!!!
对了,如果想成为“小红薯”记得找胖哥哦!!!!
#Android五年啦#