头条客户端面试凉经;算法题+JVM+自定义View

本文分享了一次Android面试经历,包括算法题(找出数组的升序子数组)、Java基础(如JVM内存模型、HashMap实现)、Android基础(如页面绘制流程、Handler使用)及面试复盘。作者强调基础扎实对于Android开发者的重要性,指出进阶高级需要不断学习。
摘要由CSDN通过智能技术生成

作者: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开发进阶高级的瓶颈。因为在突破这些基础之后,很多以前【看不懂】的技术就都能看懂了,于是技术的停滞也会随着结束! 这也是为什么大厂面试会更加注重基础。

 

总结


对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!


这里附上我整理的几十套腾讯、头条、阿里、美团等公司19年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里在石墨文档以图片的形式给大家展示
 

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

  • 无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!!!!!!!!
  • 我希望每一个努力生活的IT工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。

 

Android进阶高级并不能算得上顺其自然,需要努力和坚持!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值