面试宝典
面试必问知识点、BATJ历年历年面试真题+解析
学习经验总结
(一)调整好心态
心态是一个人能否成功的关键,如果不调整好自己的心态,是很难静下心来学习的,尤其是现在这么浮躁的社会,大部分的程序员的现状就是三点一线,感觉很累,一些大龄的程序员更多的会感到焦虑,而且随着年龄的增长,这种焦虑感会越来越强烈,那么唯一的解决办法就是调整好自己的心态,要做到自信、年轻、勤奋。这样的调整,一方面对自己学习有帮助,另一方面让自己应对面试更从容,更顺利。
(二)时间挤一挤,制定好计划
一旦下定决心要提升自己,那么再忙的情况下也要每天挤一挤时间,切记不可“两天打渔三天晒网”。另外,制定好学习计划也是很有必要的,有逻辑有条理的复习,先查漏补缺,然后再系统复习,这样才能够做到事半功倍,效果才会立竿见影。
(三)不断学习技术知识,更新自己的知识储备
对于一名程序员来说,技术知识方面是非常重要的,可以说是重中之重。**要面试大厂,自己的知识储备一定要非常丰富,若缺胳膊少腿,别说在实际工作当中,光是面试这一关就过不了。**对于技术方面,首先基础知识一定要扎实,包括自己方向的语言基础、计算机基础、算法以及编程等等。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
三级缓存
-
setcontentview原理
-
gilde原理
-
string和stringbuilder哪个存储速度快
-
事件分发
-
线程
-
如何学习的。
这家公司算的上我这几家面试公司中最想去的一个把,也是唯一一个被pass的一个。不过到头来,我是基本被秒杀了。看看上面的面试题可能也知道,难度系数还是有一点的。不过差不多能确定的是,面试官可能是java出生的。比如第一题,hashmap,问完原理之后,问了hashmap存储的是什么?hashmap内部是链表和数组,那么数组和链表是怎么存储和删除数据的。基本上,问的每一题到后面都会慢慢问到JVM的东西。JVM对于目前的我来说,简直就是噩梦啊…所以直接over了。
C公司(offer)
一家做新零售的上市公司。
一面
-
IO
-
手写数组实现队列
-
能不能动态add同一个布局
-
Handler机制
-
手写rxjava遍历数组
-
scheme协议
-
数组扩容
-
listview和recyclerview的区别
-
service
-
线程如何做到安全
-
aop思想
-
自由发挥
-
hashmap原理
二面
-
五年的计划
-
有木有考虑转岗比如ios
三面
-
是什么让你坚持的写了三年的博客
-
问了学历,谈了产品
这家公司也是面试的时间最久的一个,前前后后2个多小时,一面的内容我也有些不会的,不过问到java的内容的时候,那个面试官明说了,java我也不知道问啥,随便问问,然后主要的还是问了一些Android的内容。主要还是当场手写的,这种手写的么,知道多少就手写多少了。一面二面聊的东西也不是非常多,前前后后半小时。三面的话。上来就说,我刚才去看了你的github和博客,然后就问了,是如何坚持了三年的。我谈了我的一些看法,包括后面的学历和产品之类的,我分别的都说了我的看法。最后很神奇的听他说,要不你来我们公司做产品把。WTF?我当时都吃惊了。所以虽然技术面的一般,不过三面聊的很nice。最后也就拿到了offer。
D公司(offer)
一家C轮融资的公司,o2o平台。
-
hashmap原理
-
classloader原理
-
线程安全
-
sparearray原理(拆分包)
-
gc机制
-
gilde原理
-
rxjava
-
Ui优化
-
性能
-
瘦身
-
有木有看过框架源码,然后问原理
-
单例模式
-
listview和recyclerview和Scrollview嵌套问题,以及rv和lv的区别
-
Android2个虚拟机的区别(一个5.0之前,一个5.0之后)
这家公司问的东西挺多的,遇到不会的面试官也和我说了是什么什么。主要这家公司是我早上面了C公司之后,做了1个多小时地铁去面试,感觉全程困的不行。所以回答还是比较一般。然后一面结束,二面面试官过来就说,刚才一面完了说技术开发没啥问题了,二面具体算是我对公司的一个了解。稍微问了一些东西。面完了最后就说,过会让hr发offer了。
谈谈非技术面试
上面的问题大多数还是技术面。我这边稍微说下非技术面,一般非技术面试考你是沟通能力,表达方式,情商等众多方面。不过一般都会环绕公司的发展方向,产品等问题进行讨论。所以,单单技术好还是差一点的。比如某些公司问道,从用户角度,谈谈我司的产品怎么样?所以在面试之前,最好下一下面试公司的app进行了解。如果没找到app也可以上公司官网进行了解。比如我这次面试的公司A,就没找到公司的APP,不过我去官网看了公司是干什么。
小结
面试完了之后,要学会总结自己到底哪方面不足,导致XX公司没有拿到公司,比如我,因为JVM和数据结构薄弱,导致没拿到B公司的offer。找到了自己的不足之后,我们就需要花时间对这方面进行弥补,不管是单纯的为了面试还是为了以后的技术沉淀。说白了,都是为了自己好。通过这次面试,我也知道自己哪方面的不足,为了以后考虑,所以我也会抽时间对这方面进行弥补。
人生的路还是要自己走,别人最多给你一些方向,平时但行好事,莫问前程,一步步的努力终将得到回报。希望看完文章后,找到自己的问题所在,努力前行,给将来的自己一个感谢的机会。
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2020面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
还有 高级架构技术进阶脑图、Android开发面试专题资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
最后这里是关于**我自己的Android 学习,面试文档,视频收集大整理**,有兴趣的伙伴们可以看看~
建议
当我们出去找工作,或者准备找工作的时候,我们一定要想,我面试的目标是什么,我自己的技术栈有哪些,近期能掌握的有哪些,我的哪些短板 ,列出来,有计划的去完成,别看前两天掘金一些大佬在驳来驳去 ,他们的观点是他们的,不要因为他们的观点,膨胀了自己,影响自己的学习节奏。基础很大程度决定你自己技术层次的厚度,你再熟练框架也好,也会比你便宜的,性价比高的替代,很现实的问题但也要有危机意识,当我们年级大了,有哪些亮点,与比我们经历更旺盛的年轻小工程师,竞争。
-
无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!!!!!!!!
-
准备想说怎么样写简历,想象算了,我觉得,技术就是你最好的简历
-
我希望每一个努力生活的it工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。
-
有什么问题想交流,欢迎给我私信,欢迎评论
【附】相关架构及资料
内含往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!