新鲜出炉 Android面试总结(京东、新东方、货拉拉(1),字节跳动面试题库

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img
img

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

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

如果你需要这些资料,可以添加V获取:vip204888 (备注Android)
img

正文

(1)范型:<super>和<extends>的具体区别;在java编译过程中的实现原理(范型擦除);逆变协变(范型子类的转换问题)

(2)性能优化(多家都问了,很大的一个技术专题,靠自己总结),个人笔记总结了7块:

启动速度优化

布局优化

代码优化

内存优化(oom anr)

app瘦身

网络优化

电池使用优化

安全优化

存储优化

(3)ANR:给个标准的回答流程:anr的几种原因(深入到源码,讲讲AMS.appNotResponding()的流程,你就腻害了),分析工具等怎么分析定位到具体原因。

(4)内存溢出(OOM)+内存泄漏的区别,分析工具或者开源leakcanary,优化方案,可能会问你,handler怎么导致的oom,如何优化等

(5)事件分发机制+嵌套滑动机制原理,区别

(6)handler相关(给的很全了):流程;threadLocal+内部原理(threadLocalMap如何实现的,key,val是啥,弱引用,是否引起内存泄露等);loop()为什么不阻塞主线程;什么是同步屏障(屏障消息);什么是闲时机制(IdleHandler)+作用;消息队列的消息排序顺序(delay如何实现的);Message.obtain原理(用了那种设计模式:享元);实现子线程的handler流程;handler内存泄漏及解决方案;handler和looper,MessageQueue的关系(几个handler几个looper,handler的msg可以再别的handler的handleMessage方法上处理吗);扩展:子线程和主线程通讯,有哪些方案。

(7)自定义View相关:

framework流程;

mesureSpec的作用;

自定义extends View时,手动处理wrap_content时的坑:直接继承View的控件需要重写onMeasure方法并设置wrap_content时的自身大小,否则在布局中使用 wrap_content就相当于使用match_parent;

postInvalidate()和invalidate()和requestLayout()的区别(自己总结下吧,里头有很多点要记住);

在Activity的onCreate方法中获取控件宽高的几种方式;

View的Draw(Canvas canvas)的绘制流程;

(8)京东一家问了: io流(字符流,字节流,file和其它流的区别),流如何处理(try catch,流关闭等)

(9)dialog为什么不能用application创建,底层原理(window token)

(10)service面试,生命周期,bind和start的区别,保活等

(11)设计模式概念,设计原则(SOLID),项目中用到了哪些设计模式,开源项目xxx用到了哪些设计模式,代理模式,动态代理如何实现?单例模式中,静态内部类单例,是final修饰的吗?

(12)线程池,问参数,问keepalive参数作用,源码如何实现核心线程的运行?绝策略?

(13)如何实现https抓包;如何实现网络请求安全?防止别人抓包或请求。

(14)类加载机制原理

(15)jetpack,livedata粘性原理,源码如何实现生命感知,旧数据bug如何修复的?

(16)jetpack,navigation的xml,在哪个步骤被加载执行的?(很难呀)

(17)binder相关,aidl实现原理,如何实现回调,如何实现binder异步调用(头条)

(18)contentprovider的使用,如何实现跨进程通讯的?流程?

(19)mvc,mvp,mvvm

(20)jni开发:动态注册流程

(21)异常捕获(问app的uncaughtException)

(22)act的四种启动模式

(23)fragment和act的转场动画,用android.app和v4包的区别(头条)

java基础问题/算法/数构/jvm

(1)static修饰,final修饰,作用

(2)java面向对象特征(封装,继承,多态),具体如何实现

(3)hashmap,linkedhashmap,concurrenthashmap,set,都问了,1.7/1.8的各种区别,很细节很细节很细节,具体不说了

(4)synchronized,volatile,reenterLock,AQS,各种区别,static修饰synchronized方法的区别

(5)字节码角度说,synchronized底层原理(对象头,锁升级过程,自旋锁)

(6)反射,如何修改final修饰的参数(类反射)

(7)java内存模型,java运行内存模型及作用,G1回收机制,VM栈的执行流程,指令熟悉吗?

(8)四种引用的区别

(9)线程的状态有哪些?

(10)equels和hashcode的区别,再set中如何实现?效率问题?为什么要重写等

(11)https/http区别,tcp/ip和udp区别,三次握手四次挥手,货拉拉问了tcp底层原理+如何保证tcp传输可靠性(校 序 重 流 拥)

(12)k步长的链表反转

(13)二叉树中序遍历的两种实现

(14)一个数的开平方算法

(15)数组中,成对出现,只有一个单独出现?如果有两个单独出现?

(16)链表反转有几种实现?(栈,数组等)

(17)AB线程打印

第三方框架题

说明,简历上写的第三方框架,一定要会,而且要看源码,

(1)Retrofit(每家必问),看源码+详细总结

(2)Okhttp(每家必问),看源码+详细总结

(3)Rxjava(高频),会问上游线程调度和下游线程切换,背压等

(4)LeakCanary(高频):和OOM一起问,问原理

(5)Glide(高频):缓存实现原理,流程(linkedHashMap)

(5)ORM数据库:ROOM,DBFlow,DaoGreen:

使用数据库和使用文件缓存的区别

(6)MMKV(10家问了一家)

framework/项目/框架/总监级别问题

(1)冷启动流程,设计哪些进程,

(2)Act,window,View的区别,源码介绍下

(3)AMS的作用

(4)sdk设计,你如何实现

(5)埋点sdk,你如何实现:

埋点方法,存储,上传,线程池,异常等

(6)组件化,模块化,你是如何实现的,组件通讯如何实现的

(7)插件化(不会,只看了腾讯的shadow),原理

(8)项目介绍,重构,迭代等,问你在项目中做了哪些,遇到了哪些问题,如何解决的?(这块很重要,要有亮点,如你负责的这个模块,达到什么效果;或者你的重构,能解决什么痛点;或者你解决的问题,能给公司带来什么收益等,我按照这三块分类说的,效果不错)

(9)你的项目上,性能优化如何实现的,代表的实例说一个,异常如何监控的等

(10)平时如何学习技术的?你和别人比,有哪些强项?(学习能力,产品sense,总结习惯等,要突出亮点,我的亮点就是项目应急能力,学习总结习惯和开源贡献,或者你的回答,也要将总监向这块引导,突出你的亮点)

(11)简历上写 有较强的编码能力和独立思考能力,注重代码规范和架构重构,项目上如何体现的?

(12)技术问:我这没问题了,你有什么要问的吗

如果一面二面,感觉没戏了,可以争取下,说说个人技术能力和优势

如果大佬/总监/小组长级别终面,可以适当问问技术栈,技术之类的问题

HR面试问题

(1)问毕业,工作经历,项目经历等,问上家公司工作氛围,问离职原因,问你的强项和弱点(千万别说性格上的,性格开朗都不行,只说技术弱点),最好准备好一套说辞,都是有技巧的,小心避坑

(2)问期望薪资:

个人最想说的一块了,公司股东规定不涨薪,在公司2年多没涨薪,要高薪很困难,所以好几家技术面试通过的,最后hr都卡住了。守到云开见明月,多面试几家,机会总会来。我坚持个人的期望不妥协,终有公司看中我的个人技术能力和人品(5年经验,折算我的期望涨幅达73%)。很感谢新东方给了个人机会,我会努力回报滴!乌拉!

(3)总监也会问/hr也会问:你的个人短期目标和长期目标

(3)还有什么要问的吗?

hr问的这个这个问题,最好问她擅长的,如人事,薪资,待遇,团建等等

其他面试题(略杂)

(1)kotlin:语法糖等

(2)为什么用kotlin,和java比的优势?性能优势?

(3)flutter问了基础

非科班的突围历程和心得


野生程序员的成长经历:

本人是山东普通一本学历,机电专业,15年转行做的andorid开发。作为一个野生程序员,成长历程比较坎坷,开始靠培训机构或者个人自学,初级时就能入职互联网开发,非常困难,初级入职阶段,就能淘汰一大批培训机构

的同学,很幸运自己能实现转变,很感激帮助我的同学和第一家时经理收留信任。靠着自己2年多的不断的学习和积累,从一个小白白成长为一个合格工具人,还完成个人薪资翻倍的跳槽。

在第二家公司,也慢慢的技术视野和深度的扩展,能从容应对开发和各种问题。由于公司没有涨薪制度,所以就有了跳槽的计划准备,没想到,这一准备,就是2年时间,靠着总结和积累,跳槽就水到渠成,没有多少运气加成,全是踩坑过河。

所以,对科班人来说,我就是最笨的成长。虽然初期的成长慢了些,但是我有我的坚韧性格,成长多远,多半靠自己,多多灌输自己点励志鸡汤,多多学习别人的长处,多虚心请教别人的心得和学习习惯,成长也是很快的。

成长心得:

**不说废话,只说关键点:

(1)要有技术总结。技术点总结、遇到的坑总结、大技术点专题总结(笔记+代码示例),整理成笔记,时常翻看(写博客也需要用笔记先总结好)

(2)有笔记习惯。记录技术,异常,新技术,复盘总结,日报总结,学习计划,好的点子等,一切认为可总结的技术点,都做成笔记。后期翻看时,可以增加自己的思考角度维度,为日后做核心岗位做准备。我这个习惯已经保持了2年多,当前能完成跳槽,这个习惯给了我最大的支持,让我水到渠成。

(3)看源码学习。好奇心多一些,当成享受,时间长了,你就自然而然的厉害了。

(4)如果对公司有期望,做事要负责实干,领导的刁难或严苛,要学会皮实应对,说不定是扶持你上位的考验**

附 个人跨年面试流程


奉上我最近的集中面试过程

2020-12-24

下午14:00: Apus(2轮技术+hr,hr看不上了)

下午7:00:美团优选 远程一面(啥都没问,感觉就他就是为了放松的,之前有两次不好的简历投递,估计有记录了)

2020-12-25

下午14:00: 广州星域信息科技有限公司(offer 25->23*13,已拒绝)

下午7:00: 探探远程一面(未过)(问的太细了)

2020-12-28

7点:货拉拉 远程(一面已过)

2020-12-29

上午:京东物流 电话面 (一面已过)

下午:小红书(一面 未过)

2020-12-30

上午:松果出行(一面已过 7天才出结果,六啊)

下午:头条教育(一面已过)

晚上:宝沃汽车(已过,5天后才告知)

2020-12-31

上午11点:货拉拉二面(已过)

2021-01-04

下午4点:京东物流二面(已过)

下午7点:货拉拉三面(已过)

2021-01-05

上午10点半:新东方在线(技术有三面,已过)

下午2点: 头条 2面(呵呵,为难人,净问冷门的)

下午4点:宝沃汽车二面(已过)

下午5点: 京东健康1面(已过)

2021-01-06

下午 京东物流(二面 已过)

下午3:00 货拉拉hr面试 (hr已过)

下午 5点 宝沃汽车测评已过(提交工资流水)

结尾

  • 腾讯T4级别Android架构技术脑图;查漏补缺,体系化深入学习提升

img

  • 一线互联网Android面试题含详解(初级到高级专题)

这些题目是今年群友去腾讯、百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率

img

有Android开发3-5年基础,希望突破瓶颈,成为架构师的小伙伴,可以关注我

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
img

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

注我

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-ncgByUtG-1713338996290)]

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

  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
欢聚时代的测试开发面试一般分为两轮,一面技术面和二面HR面。在一面技术面中,面试官会首先要求你进行自我介绍,并会问一些简历上的问题。其中可能会给你一个情景题,要求你测试一个抽奖按钮的功能,你需要考虑正常操作、错误操作、另类操作和恶意操作等不同情况下的测试方案。此外,你还需要回答为什么选择测试而不是开发的问题,可以从前景、兴趣、天赋和技能等方面进行回答。面试官还会讲解公司的需求和工作情况,并可能询问你是否有任何问题。 在二面HR面中,面试内容一般包括自我介绍、了解意愿、了解情况、谈薪酬、谈加班以及看性格等方面。如果面试顺利通过,HR会向你介绍公司待遇,并要求你提供身份证等信息进行信息审查。如果通过审查,你将有机会收到口头offer并可以准备入职体检。 根据引用中的信息,欢聚时代在招聘过程中还可能进行在线笔试,题目涵盖了测试开发工程师、Java开发工程师等不同职位的内容。 根据引用的描述,欢聚时代的面试官都非常友好,并且一面的面试体验会让人感到舒适。在中间突发的问题中,会考验你的思维反应能力,同时面试官也会进行指导。二面中,谈薪资的话题可能会比较严肃,但如果面试通过,通常可以当场得到结果,让人觉得非常赞赏。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [欢聚时代YY/测试实习面试](https://blog.csdn.net/qq_38959715/article/details/88409931)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [最新出炉2015届中国顶级IT互联网公司校招笔试题](https://download.csdn.net/download/machen_smiling/8946097)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值