2、大部分应届生找工作的硬伤是没有工作经验或实习经历,所以如果你是 应届生就不要错过秋招和春招。一旦错过,你后面就极大可能会面临社 招,这个时候没有工作经验的你可能就会面临各种碰壁,导致找不到一个好的工作
3、写在简历上的东西一定要慎重,这是面试官大量提问的地方;
4、将自己的项目经历完美的展示出来非常重要。
我的情况
这里简单说一下自己的情况,大专学历,之前学的机电,然后参加一个 Java 培训,培训之后,自己发现 javaee 开发需要用到的知识太多了,然后,自己刚好那个时候接触到 android,于是,就想做 android 开发。
第一份安卓工作,自己进去差不多就是实习生的身份,因为公司给学习机会,可以一边学习,一边跟着做项目,所以,到现在还是很感谢当初第一份工作。
当然,说到刚开始找工作,因为没有 android 开发经验,去网上搜了很多职位,投了简历都没反应,搜了很久才找到那家公司,要求很低,实习生都可以,我才去面试,还有上机测试,但是,因为测试的都是基础知识,然后,那家公司是在一个县级市的软件园区,估计,也因为去面试的人,加上当初自己表现的比较愿意学习,老板才给了这次机会。不管怎么说,我从心底感谢第一份工作。
看了很多面经=可以进大厂?
我发现大家比较喜欢看面经 ,这点无可厚非,但是大部分面经都没告诉你很多问题都是在特定条件下才问的。
举个简单的例子:一般情况下你的简历上注明你会的东西才会被问到(Java、数据结构、网络、算法这些基础是每个人必问的);
比如:写了你会 redis,那面试官就很大概率会问你 redis 的一些问题。
比如:redis 的常见数据类型及应用场景、redis 是单线程为什么还这么快、 redis 和memcached 的区别、redis 内存淘汰机制等等。
所以,首先,你要明确的一点是:你不会的东西就不要写在简历上。另外,你要考虑你该如何才能让你的亮点在简历中凸显出来,比如:你在某某项目做了什么事情解决了什么问题(只要有项目就一定有要解决的问题)、你的某一个项目里使用了什么技术后整体性能和并发量提升了很多等等。
面试和工作是两回事,聪明的人会把面试官往自己擅长的领域领,其他人则被面试官牵着鼻子走。虽说面试和工作是两回事,但是你要想要获得自己满意的offer ,你自身的实力必须要强。
接下来是一些面试题,我做了些整理
百度作业帮
一面
1.startactivityforresult的时候,比如A startB activity,A activity被回收,B回来的时候的A和B的生命周期各自是什么?
2.如何实现一个环形布局的ViewGroup,类似一个菊花的形状。又问了在onMeasure中传递的参数是什么?这道题主要就是想了解对View的measure、layout和draw流程是否熟悉。
3.android的事件传递机制
4.内存泄露问题,常见的导致内存泄露的原因
5.页面很卡顿,分析一下原因是什么,然后从哪些方面入手解决
6.java的线程同步问题。new了很多A对象,一个线程池的线程不断去操作A对象被synchronized修饰的方法,会同步操作吗?如果该方法是static的,又会怎么样?
7.遇见过的项目难点的地方
8.强化android优化方面
二面
1.工作相关,强化工作相关项目
2.android性能调优
今日头条
今日头条问的都是网上能找到的。好几个问题都是网上面经的原题,所以刷面经很重要。
一面:
一面主要是问了Android基础、Java基础和数据结构算法
1、软引用和弱引用的区别
2、1亿个数中找出最大的100个数。回答了可以建一个小顶堆,然后问如何建小顶堆以及如何维护小顶堆
3、Bitmap加载过程中OOM了怎么办?回答了可以压缩图片,然后问具体怎么压缩?如果有一张很大size的图片需要加载到手机里怎么办?回答可以局部加载。
4、有了解什么是IntentService么?
5、Activity的几种启动模式有了解么?各自的含义是什么?
6、TCP和UDP的区别,以及简单说了一下TCP三次握手协议
7、手写单例模式
8、除了Lru缓存算法,你还知道哪些缓存算法?
二面
二面面试官是百度t6,主要问了项目相关的问题,也问了一些Android基础和算法数据结构
1、1亿个url存在文件中,里面有重复的url,请问怎么去重?题外:这道题给人的感觉就是这个面试官只会抄网上的题目来“考”面试者,而不是真的用心去了解面试者的Android能力水平,网上这样的“海量数据”处理问题已经被问烂了,而且平时android开发中间几乎很少用到,面试者能答上来无非两者:1、刷过面经;2、真的会“海量数据”处理的大牛,但是Android中是后者的几乎没有,所以这道题没有任何意义,完全就是面试官照抄面试题的应付而已。
2、2*8的最快运算是什么?考察点是位运算,但平时工作中几乎很少“2<<3”这样写,原因是没有必要,因为编译器早就做过这方面的优化。
3、讨论了一下热修复相关的问题
3、一个listview很卡顿,让分析一下其中可能的原因和你碰见这个问题如何动手解决。算是相对比较发散思维的问题,应该能从一定角度反应求职者水平。
高德:
一面
1、cpu的唤醒,cpu休眠会停止线程xxx
2、线程同步synchronized,volatile关键字的用法
3、怎么停止一个线程,waitxxx有用吗?
4、静态内部类引用外部类怎么解决引用问题
5、for循环…的线程同步问题
6、c里面static关键字的用法
7、include头文件两种方式的区别
8、弱引用和软应用的区别
9、Dalvik和ART虚拟机的区别
10、Java虚拟机什么时候进行GC,Android虚拟机呢?
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
写在最后
对程序员来说,很多技术的学习都是“防御性”的。也就是说,我们是在为未来学习。我们学习新技术的目的,或是为了在新项目中应用,或仅仅是为了将来的面试。但不管怎样,一定不能“止步不前”,不能荒废掉。
![
文章以下内容会给出阿里与美团的面试题(答案+解析)、面试题库、Java核心知识点梳理等
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
.(img-Qeznx6jY-1712805505244)]
[外链图片转存中…(img-sed2uUeu-1712805505244)]
文章以下内容会给出阿里与美团的面试题(答案+解析)、面试题库、Java核心知识点梳理等
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-yWhUSNLb-1712805505244)]