回收体育数据,谁有?

2019 年对我来说是最幸运的一年,在这一年我多了一个「小情人」。然而,刚忙完回到公司的第二周,我接到了最残酷的通知,公司经济状况不佳 —— 裁员!

虽然可以选择降薪留下来,但是社保公积金最低,还需要996,无奈只好选告别了待了三年之久的 xxx,没有 n+1,没有 xxx,mmp。
由于离职时间点比较尴尬,马上就是中秋节,刚好可以放松下回家陪陪家人。

中秋过后,尝试投了几份简历,但是效果不太好,面试机会也不多,可能是由于马上就是国庆长假的缘故(也只能这样安慰下自己)。

下面是我面试全部之后整理的面试题,把一些重要的面试题给记了下来,有一些已经忘记不过不碍事,是一些比较简单大家都能答上来的,希望这些面试题能给之后面试的朋友们一点帮助。

注意文末的准备与建议,还有整理好的面试PDF文档分享~

  • 面向对象的特征,并举例说明面向对象的过程
  • 如何结束一个正在运行的线程
  • 如何获取某个 View 的大小并动态改变 View 的大小
  • 有一群人A与B有关系,B与C有关系...分成两队,让彼此都有关系

这是一个神奇的公司,只怪自己太菜笔试都没有过,出师不利啊。然而奇怪的是国庆后,该公司的HR找了我不下3次。

  • HTTP 版本之间区别
  • Android 线程间通讯方式有哪些?
  • 类B继承A,A、B两个类中都有静态变量、成员变量、静态代码块、构造方法执行顺序是什么?
  • Java代码执行时内存状况
  • View什么时候绘制完成?
  • 如何获取一个View的尺寸?
  • 内存溢出、内存泄漏的关系
  • 垃圾回收机制,垃圾回收算法优缺点
  • Java内存模型的理解
  • 一个无限单向链表如何计算长度,如果有环如何计算长度
  • 事件分发机制,Activity怎么处理的
  • 项目中遇到的最大的问题是什么?怎么解决的
  • 如果遇到项目进度无法推进,你怎么做的

这是我迄今体验最差的面试没有之一,面试官特别装逼,一直问我 API 细节,方法里有什么代码。最后面试官竟然 JVM 运行时内存区域和 JMM 都分不清,我实在忍不住了反问了一句:公司难道是在招 API 工程师吗?

  • 项目中最大的困难是什么?怎么解决的?
  • 补间动画与属性动画的区别
  • 怎么实现View悬停?
  • Android与iOS系统内存管理机制了解吗?
  • 常见算法了解哪些,时间复杂度是什么?
  • 项目中遇到的困难是什么?怎么解决的?
  • 对于其他同事,为什么你觉得你这个优势最突出?

不得不承认阿里实力还是很强的,也可能我投的岗位期望 P8 以上水平的缘故,被虐的很惨。突然感觉这几年都荒废了,选择大于努力,一定要选择好的方向,比如我选择小程序就是一个错误。

  • 如果子View已经处理了事件,父View怎么拦截子View事件
  • 期望加入什么样的公司?
  • 拿到几个Offer了?
  • 介绍了下公司的发展前景,公司的优势
  • 聊了将近一个小时...
  • 怎么判断二叉搜索树是否合法,白板手写出解法
  • 给出一个业务场景怎么处理

你没有看错,就只有两道面试题,白板手写代码,这是我遇到的最奇葩的公司了,最后还说我代码写的不讲究(这 tm 是面试吧,我已经说了由于篇幅有限,一些细节就忽略了),太浪费时间了。

  • 类加载机制、双亲委派模型
  • 有多个线程1、2、3、4,1、2、3 并行完后与 4 串行,至少 3 种方式实现
  • TCP三次握手、四次挥手
  • 根据简历多渠道包怎么构建的
  • 对JDK各版本差异的了解
  • 对Framework层源码的了解,为什么这么设计,优缺点

每个人应聘的职位级别不一样,需要准备的范围也有所不同。我应聘的是高级职位,主要准备了以下几点:

一般都会问 Java 虚拟机相关知识:类加载机制、双亲委派模型、垃圾回收机制、运行时内存区域、注解、泛型、反射等等。强烈建议精读一下《深入理解 Java 虚拟机》这本书。

这部分内容比较多,还是需要平时多积累,养成看源码的习惯。

Handler 机制大家都会说,网上找找都能找到,现在会问一个线程几个 Looper,几个 Handler?Looper 中的死循环为什么不会卡死主线程?IdleHandler 的原理?发送延时消息怎么处理的?

如果你能从 Handler 答出 epoll 机制,接下来会问 epoll 机制的原理,有没有看过源码?

高级岗位 Framework 层原理肯定逃不过的,系统启动流程、Binder、AMS、WMS 都是最基础的,最好有一个自己深入研究的方向,比如 SurfaceFlinger。

进阶一定要看刚哥的《Android 开发艺术探索》必备,Framework 部分《Android 内核剖析》、《Android 源码情景解析》、《深入理解 Android》系列等都是很不错的书籍。

面试中一般会问 HTTP 的三次握手、四次挥手过程,以及为什么?HTTPS 的通讯过程?等等。

网络是个大方向,对于 Android 工程师来说,常见的概念必须要了解的,当然深入研究一下也是很不错的加分项。就像直播,网络优化等方面都离不开网络知识。

推荐看一下《图解 HTTP》、《图解 TCP/IP》,向深入研究可以看《TCP/IP 详解》、《UNIX 网络编程》。

数据结构计算机专业的一般都是必修课,网上资料很多这里放上我收集到的一些资料,文末自取。

算法可以看看《算法》、《算法导论》、覃超的《算法面试通关 40 讲》、刷下 LeetCode。

设计模式一般会问你在项目中常用的设计模式有那些?等你说完之后会问你怎么用的,什么场景用的?它的优缺点是什么?遵循了什么原则?违背了什么原则?...

架构 MVC、MVP、MVVM 烂大街的问题,一般会问它们的优缺点各是什么?

虽然后面还有好几家面试,也有像豹厂这样的很不错的公司。但不得不承认一天面两家,一周面 10 多家实在太累了。

在收到大数字公司的 Offer 后就没有再面了,加上 HR 将近五轮的面试聊得过程都很愉快,大数字公司也是我比较理想的公司。

虽然在之前也收到了几家很不错 Offer,相比之下还是大数字公司比较适合我,接下里的几年也需要好好沉淀一下技术了。

经过这一次的被动面试经历,我个人感受有以下几点:

如果是裸辞找工作,HR 一般都会问什么时候离职的。如果手里没有 Offer,就很被动了,很有可能被压薪资。主动权一定要掌握在自己手中。

即使很努力如果方向错了就是浪费时间,就像我选择了小程序就是个错误(大前端坑太多,入坑需谨慎)。我的建议是多深入研究一些以不变应万变的技能。

虽然说能力很重要,但学历是敲门砖(HR 就看这个)。如果连面试机会都没有,还怎么谈然后?如果学历不突出有很好的大厂履历也很不错,貌似是个蛋生鸡,鸡生蛋的问题。

一些基础知识和理论肯定是要背的,要理解的背,用自己的语言总结一下背下来。

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,我能明显感觉到国庆后多了很多高级职位,所以努力让自己成为高级工程师才是最重要的。

好了,希望对大家有所帮助。

接下来是整理的一些Android学习资料,有兴趣的朋友们可以关注下【】查看免费领取方式

①Android开发核心知识点笔记

②对标“阿里 P7” 40W+年薪企业资深架构师成长学习路线图

【Android进阶学习视频】、【全套Android面试秘籍】关注【】查看免费领取方式!

我要回帖

更多关于 玻璃粉有谁回收 的文章

 

随机推荐