欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

一个自学Android-人的第三年的面经分享,flutter调用原生sdk

时间:2023-08-05

4.1.乐观锁与悲观锁
4.2.volatile原理
4.3.读写锁的应用
5.RecyclerView与ListView的区别
5.1RecyclerView为什么这么设计
5.2应用
6.自定义控件
6.1.事件分发机制
6.2.动画
7.okhttp支不支持优先级
7.1.ssl握手谁实现的
7.2.websocket应用
8.简述日志系统
二面

1.介绍项目架构等,围绕项目进行提问
2.序列化的作用
3.子线程轮询阻塞队列如何安全回收线程
5.3Musical.ly(头条)

一面

算法:数组中的数据前半部分递增,后半部分递减,排序并去重

1.Java虚拟机

1.1虚拟机内存结构
1.1.1哪些是线程私有,哪些线程公有
1.1.2静态常量的存储位置
1.1.3无穷递归方法引发的问题
1.2.GC机制
1.2.1.GC roots是什么
1.2.2.Handler造成内存泄漏的整个引用链
1.3.什么情况会产生ANR
1.4广播
1.4.1.onReceive方法调用线程
1.4.2静态广播接收流程
1.4.3动态广播接收流程
1.4.4动态广播能不能重复注册
1.5.SurfaceView原理及使用注意事项
1.6.ButterKnife工作原理
1.7.仿微信朋友圈图片展示设计思路
------以下问题都是面试官根据简历问的------

2.热修复
2.1热修复原理
2.2.假如某个类A有个bug,热修复的整个流程
2.3该修复方案是否能避免oat导致的一些问题
3.LeakCanary原理
4.Groovy插件
4.1.APK瘦身如何实现的
4.2.自定义任务在某个任务之前或之后执行怎么写
4.3.Gradle打包的整个过程
5.看过哪些Android源码
拦截Activity跳转有哪些Hook点
6.Groovy和Java的比较
二面

1.类加载过程
1.1触发类初始化的时机
1.2被动引用
2.Activity启动模式及几个模式的应用场景
3.onSavedInstanceState相关
3.1灭屏会不会触发onSavedInstance
3.2.onRestoreInstanceState和onSavedInstanceState是否成对出现
4.Service生命周期的理解
4.1bindService整个代码怎么写
4.2.与service通信是否会阻塞当前线程
4.3如果是耗时方法,为什么会阻塞
4.4如果不是耗时方法,为什么不会阻塞
4.5如果远端是耗时操作,怎么不等待结果让主线程先运行
4.6.startService和bindSerivce对service生命周期的影响
4.7.aidl传递Bitmap需要注意的事项
5.4携程

一面

1.EventBus原理
2.Java中有哪几种注解
2.1具体注解名称
2.2如何自定义注解
3.EventBus是什么注解
3.1能不能用编译时注解实现EventBus
3.2注解处理器怎么工作
3.3注解处理器有哪些API
4.Glide原理
5.Lrucache原理
6.linkedHashpMap原理
7.HashMap原理
7.1解决Hash冲突的方法
7.2.equals和hashcode作用
7.3.hashcode如何实现
8.Object类下有什么方法
9.使用过哪些热修复
9.1热启动热修复原理
9.2冷启动热修复原理
10.Android中的类加载器
10.1类加载器之间的区别
10.2Dex融合用的哪种类加载器
10.3父类是什么及三者之间的关系
11.双亲委派模型
12.APK瘦身
13.Android中的动画及区别
14.Handler原理
15.Android中序列化方式
15.1两者区别
15.2为什么Parcelable性能更好
15.3序列化UID作用
16.ThreadLocal原理
17.Java中有哪些锁
17.1悲观锁与乐观锁的区别
17.2自旋锁的作用
17.3锁一般是怎么实现的
17.4让你自己实现,怎么实现一个锁
18.内存优化有哪几种方式
19.布局优化有哪几种方式
20.线性布局在onLayout里面做了哪些工作
21.谷歌为什么给Activity设计这么多生命周期
5.5招行信用卡中心

(招行是架构组招人,问的问题主要是架构方面和安全方面,比较开放,简单总结一下)

1.工程结构纵向横向如何拆分(项目架构)
1.1如果解决代码依赖
1.2两个隔离模块的数据交互
2.开发过程中遇到的问题
内存泄漏
3.项目中首页的实现
3.1VLayout实现原理
3.2为什么不用RecyclerView实现多Item
4.热修复差分文件的验证(安全性)
5.公钥私钥体系
5.1应用场景
5.2HTTPS连接过程
6.应用构建过程
7.应用签名校验过程
8.V1签名和V2签名区别
9.Dex加固原理
10.APK瘦身
####六.展望

干这行三年了,自己恐慌过,也看到过别人恐慌。担心行业日落西山,担心Android被大前端统一。这样的担心也不算没有道理。但其实真正让我恐慌的是我没在进步,而行业在不断进步,担心跟不上行业的脚步。作为程序员,还是要保持一颗学习的心态,不断前进。但也希望大家在繁忙的工作、学习之余抽身出来多培养些兴趣爱好,多陪陪家人朋友。多打磨一下自己的软技能,提高谈吐、情商、表达能力。这些也是一个优秀的程序员所需要具备的条件。

我不算是一个优秀的程序员,也只是努力的在这条路上前行,希望能做一些自己喜欢的事情。

如果有机会,会在博客上跟大家分享一些安卓以外的内容。

愿每个人都有梦想,也愿每个人都能坚持自己的梦想

**想学习更多Android知识,或者获取相关资料请加 入Android技术开发交流2群:862625886。 有面试资源系统整理分享,Java语言进阶和Kotlin语言与Android相关技术内核,APP开发框架知识, 360°Android App全方位性能优化。Android前沿技术,高级UI、Gradle、RxJava、小程序、Hybrid、 移动架构师专题项目实战环节、React Native、等技术教程!架构师课程、NDK模块开发、 Flutter等全方面的 Android高级实践技术讲解。还有在线答疑 **

最后

给大家送上我成功跳槽复习中所整理的资料,由于文章篇幅有限,所以只是把题目列出来了,我自己手头上整理的资料均和上面的答案可免费分享,需要这些资料和答案的朋友,可以点击这里免费领取。

%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)。**

[外链图片转存中…(img-qYcjD3sv-1644047616404)]

[外链图片转存中…(img-kXb945OB-1644047616405)]

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。