作者:Offer+=100
链接:https://www.nowcoder.com/discuss/363141

- 自我介绍
算法题:
- Q:找出一个数组的长度Top k的升序子数组,并按长度降序输出。
- 输入:[2,1,4,5,8,3,7,10,2,5] k=2
- 输出:[1,4,5,8],[3,7,10]
- 思路:刚开始和面试官聊思路,我以为是找出升序子数组然后把他们里面的元素降序输出,做完后才发现理解错题意了。题目的意思就是找出升序子数组,按照子数组的长度降序输出子数组。。。
这道算法题面试回来有大佬给了参考答案;
这题可以用dp,字节比较喜欢考dp和backtrack
![]()
![]()
Java基础
- 说一说Java内存模型、JVM内存模型
- HashMap怎么实现的
- 线程 wait()和sleep()区别
- 线程安全怎么实现
- 说一说垃圾回收算法
Android基础
- Android页面绘制流程
- Handler在子线程怎么使用
- 就完了......凉凉
面试复盘;
大厂面经看多了甚至会感觉有点千篇一律,因为不管去哪个大厂面试,无非就是要求一些基础罢了。
比如数据结构算法,Java基础,以及自定义View等。这些难道不是每一个Android开发都懂的吗?
真不一定!甚至我敢说,大多数人Android开发者这些基础,并不牢靠!
很多Android开发都是半路出家的,然后工作几年后技术进入瓶颈期。这些瓶颈无非就是因为基础不牢靠造成的提升困难。
如何破局提升?
读源码?学底层原理架构?
都不是!
其实基础才是卡住大部分Android开发进阶高级的瓶颈。因为在突破这些基础之后,很多以前【看不懂】的技术就都能看懂了,于是技术的停滞也会随着结束! 这也是为什么大厂面试会更加注重基础。
网友评论