渣渣二本的辛酸面试之路:从深圳外包到杭州蚂蚁金服,4年小Android的爬坑历程(2)

写在开头


笔者16年于长沙一个普通二本,毕业后去了满地都是机会的深圳。第一份工作是一家外包公司,主要业务是电商和电子支付信息安全方面的。一年后跳槽到华润旗下一个子公司做金融。至今已工作4年。大家都知道,对于跟我一样没有名校背景,也没有大厂出身的程序员来说,面试唯一的加分项就只有某一方面的技术深度了。所以我也建议各位小伙伴也跟我一样,选择一个自己感兴趣的,或者比较自信的方向,不断的钻研深入。

众所周知,2020年的冬天非常煎熬,疫情肆虐,大批的互联网公司都在裁员甚至倒闭。年后的金三银四跳槽季竞争愈发激烈,岗位需求急剧减少,求职者一面难求,能找到心仪offer的人就更少了。所以我并没有在疫情的风波中着急去跳槽找工作,而是一边观望,一边收集面试素材和面试真题,沉淀自己,提高自己的核心竞争力。

在刚过去的金九银十跳槽季,国内疫情已基本 稳定,经济复苏后,面试压力也就不那么大了,我开始投简历。我投递简历的顺序是按小公司—>大公司的套路来的,深圳的小公司非常多,中大型公司比较少,因此,在这一个多月的面试历程中,我估算了一下,大概面了6家小公司,2家中型公司和1家大公司。一般我去面比较大的公司之前,我都会先面一两家小公司预热一下。

以下是面试中被问到的一些问题

基础:

1.描述一下Activity 生命周期?

2.A Activity 打开 B Activity 时都有哪些生命周期回调?

3.Activity的启动模式分别说一下

4.如何保存Activity的状态或者(Activiy 重启怎么保存数据?)

5.横竖屏切换时Activity的生命周期

6.onStart,onStop和onResume,onPause的区别?

7.横竖屏切换时的生命周期?

8.Android中的Context, Activity,Appliction有什么区别?

9.Context是什么?,一个应用有多少个Context

10.Service是否在main thread中执行, service里面是否能执行耗时的操作?

11.Android应用程序启动过程

12.如何保证Service不被杀死?

13.onActivityResult 在哪两个生命周期之间回调?

14.Fragment的生命周期?

15.Activity和Fragment的区别?

16.简述下Acitivty任务栈和使用方法

17.请描述一下BroadcastReceiver

18.BroadCastReceiver的生命周期

19.什么是Service?Service的生命周期?

20.Service的启动方式?如果启动方式交织在一起的话,会出现什么情况?

21.怎么在Service中创建Dialog对话框

22.Service和Thread的区别?

23.ActivityManagerService了解吗?有什么作用?

24.广播的两种注册方式有什么区别?

25.广播发送和接收的步骤是什么?原理了解吗?

26.ContentProvider 是如何实现数据共享的?

27.activity的startActivity和context的startActivity区别

28.为什么要用ContentProvider?它和sql的实现上有什么差别?

29.ListView如何优化?(复用,滑动流畅等)

30.在什么情况下BroadcastReceiver接收不到广播?

Android 中高级

1.TCP的三次握手和四次挥手,为什么不是两次握手?为什么挥手多一次呢?

2.如何对Android应用进行性能分析

3.Devik进程,linux进程,线程的区别

4.android应用对内存是如何限制的?我们应该如何合理使用内存?

5.数字签名的原理

6.Android 源码中常见的设计模式以及自己在开发中常用的设计模式

7.Android与 js 是如何交互的

8.网页中输入url,到渲染整个界面的整个过程,以及中间用了什么协议?

9.说一下handler机制?

10.子线程如何使用 Handler?

11.说一下你对Handler中ThreadLocal的理解?

12.主线程的 Looper 什么时候创建的?ActivityThread 的 main 什么时候调用?

13.Handler中有Loop死循环,为什么没有阻塞主线程,原理是什么

14.如何优化自定义View

15.如何解决View的事件冲突?举个开发中遇到的例子?

16.网络请求缓存处理,okhttp如何处理网络缓存的?

17.WebSocket与socket的区别?

18.handler postDelay这个延迟是怎么实现的?

19.hashcode()和 equals()的作用、区别、联系?

20.Handler、Looper、MessageQueue、Thread关系?

21.Hashmap如何解决散列碰撞(必问)?

22.Hashmap底层为什么是线程不安全的?

23.RecyclerView的ItemView层级过深怎么优化?

24.怎么设计Android线程间通信?

25.Bitmap JPG区别 图像处理:JPG、PNG及BMP的区别?

26.广播(全局 本地区别)

27.onSaveInstanceState onRestoreInstanceState区别,调用时机

28.Serializable与Parcable的区别?

29.是否了解SurfaceView,它是什么?他的继承方式是什么?他与View的区别(从源码角度,如加载,绘制等)。

30.说下冷启动与热启动是什么,区别,如何优化,使用场景等。

面试题集和答案在文末

下面我来结合我的面试经历来谈谈不同公司级别的面试难度。

小公司(0-200人)

一般只要你收到这类型公司的面试邀请,只要你能把自己做过的项目架构项目重难点说清楚,还有一些Android基础知识稍微扎实一点,然后你稍微准备一两个深一点的技术点,什么GC机制、基本的热修复原理说个10分钟,offer妥妥的,个别公司可能会考一些简单的算法题和智力题,比如冒泡、查找等等。在深圳这类型的公司三年安卓的价位一般在12-15这个区间,个别有钱的可能上限可以到18,一般都是15左右。至于面试题太常规,这里我就不多说了,想要看面试题和详细答案的可以直接看总结部分。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

上面分享的字节跳动公司2020年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

就先写到这,码字不易,写的很片面不好之处敬请指出,如果觉得有参考价值的朋友也可以关注一下我

①「Android面试真题解析大全」PDF完整高清版+②「Android面试知识体系」学习思维导图压缩包阅读下载,最后觉得有帮助、有需要的朋友可以点个赞

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
712999026857)]

[外链图片转存中…(img-rztY2ga3-1712999026857)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-zjzhHfZQ-1712999026857)]

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值