赞
踩
在经历了春招沉重的打击**(0offer)**之后,我终于明白了自身实力与现实的巨大差距。但很不幸的是,我依然没有拿出百分之百的努力,一堆琐事和懒惰的心态阻止了我的步伐,导致我在8月初才开始认真的准备秋招。
注意:本文比较长,面试部分可以跳过,需要解析的直接去文章末尾领取,结尾的面试经历与总结都是我的真实经历与感悟,希望可以帮到大家!
首先我需要对我自身进行一个分析,寻找最适合我的准备方法。
先说一下秋招开始时的个人的条件吧,毕竟我的方法可能不是每个人都适合的,只能作为参考。
为了提高算法能力,我刷完《剑指offer》,了解面试官出题的套路;还在LeetCode上AC了20多道Hard
难度的题,在牛客上AC20多道低通过率编程题,加强手撕代码的能力。
为了加强Android基础,我看了以下书目1
《深入理解Java虚拟机:JVM的高级特性与最佳实践》
《Android开发艺术探索》
《Android源码设计模式解析与实战》
《深入理解Android内核设计思想》
《Android开发进阶 : 从小工到专家》
为了提高计算机基础,我复习了以下科目2
计算机网络
操作系统
计算机组成原理
编译原理
在网络上搜集相关面经,主要是BAT TMD NJ的Android岗位的面经,在看面经的时候我会尝试回答每个问题,看看自身掌握如何,不会的及时找到答案并弄懂。
由于对内推不抱希望,我在牛客网上刷大量的笔试题。希望通过提高笔试能力,能尽量拿到参加面试的机会。
关注相关的内推与秋招消息。经常刷牛客、V2EX、知乎、脉脉和各种技术交流群,不放过各种内推或者补录的通知。
拿奖,增加简历亮点。在秋招期间,拿到了国赛三等奖,省赛一等奖,还有普通编程大赛的奖项。虽说奖项的含金量不高,但起码提高了在简历筛选关的通过率。
反复修改简历,不断的试错。
熟悉项目,仔细发掘项目相关的知识点与技术点并掌握它们。比如我的一个项目VectorMap用到了自定义View
,我就仔细了解并记住自定义View
的相关知识点,像是触摸事件分发的原理,View
的绘制流程,Window
Activity
View
之间的关系等等。
通过大量的面试锻炼心态,增强面试稳定性5。尽量做到和面试官谈笑风生,会的讲得清,不会的(心态)稳的住。
什么是ANR 如何避免它?答:在Android 上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应 用程序无响应(ANR:Application Not Responding)对话框。用户可以选择让程序继续运行,但是,他们在使用你的应用程序时,并不希望每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样,系统不会显示ANR 给用户。 不同的组件发生ANR 的时间不一样,主线程(Activity、Service)是5 秒,BroadCastReceiver 是10 秒。
解决方案:
将所有耗时操作,比如访问网络,Socket 通信,查询大量SQL 语句,复杂逻辑计算等都放在子线程中去,然后 通过handler.sendMessage、runonUITread、AsyncTask 等方式更新UI。无论如何都要确保用户界面操作的流畅度。 如果耗时操作需要让用户等待,那么可以在界面上显示进度条。
View的绘制流程;自定义View如何考虑机型适配;自定义View的事件分发机制;View和ViewGroup分别有哪些事件分发相关的回调方法;自定义View如何提供获取View属性的接口;
Art和Dalvik对比;虚拟机原理,如何自己设计一个虚拟机(内存管理,类加载,双亲委派);JVM内存模型及类加载机制;内存对象的循环引用及避免;
ddms 和 traceView的区别;
内存回收机制与GC算法(各种算法的优缺点以及应用场景);GC原理时机以及GC对象;内存泄露场景及解决方法;
四大组件及生命周期;ContentProvider的权限管理(读写分离,权限控制-精确到表级,URL控制);Activity的四种启动模式对比;Activity状态保存于恢复;
什么是AIDL 以及如何使用;
请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系;
Fragment生命周期;Fragment状态保存;
startActivityForResult是哪个类的方法,在什么情况下使用,如果在Adapter中使用应该如何解耦;
AsyncTask原理及不足;ntentService原理;
说说ContentProvider、ContentResolver、ContentObserver 之间的关系;
请介绍下ContentProvider 是如何实现数据共享的;
Handler机制及底层实现;
Binder机制及底层实现;
ListView 中图片错位的问题是如何产生的;
一线互联网Android面试题含详解(初级到高级专题)
这些题目是今年群友去腾讯、百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率
如果设置门槛,很多开发者朋友会因此错过这套高级架构资料,错过提升成为架构师的可能。这就失去了我们的初衷;让更多人都能通过高效高质量的学习,提升自己的技术和格局,升职加薪。
最后送给大家一句话,望共勉,永远不要放弃自己的梦想和追求;
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。