- 博客(242)
- 收藏
- 关注
原创 2020Android大厂面试经验(附大厂面试真题解析大全),安卓面试问题
6:注解实现一个提示功能:如果int的值大于了3需要提示。三面1:介绍下flutter的启动流程2:介绍下flutter与weex的区别3:组件化介绍一下4:webview中与js通信的手段有哪些?5:介绍下flutter_boost的原理四面1:适配器和装饰模式各自特点和使用场景2:视频编解码是怎么做的3:三色球排序一面为什么工作一年就想换工作?onTouchEvent/onTouchListenr.onTcouchEvent/onClickListenrhashmap的原理?
2022-03-06 14:20:01
399
原创 2019最新百度、头条、小米,android小游戏开发实例
###三.小米:在去面试的路上,感觉小米总参好远好偏僻,到了之后,环境还可以,不过接下来的面试就不是那么顺利了,这可能是我这次所有面试经历中最糟糕的一次了…令人意外的是我居然还通过了面试,幸运~小米这次面试经历可能对我的影响最大,因为这次经历算是刷新了我一次认知(说是刷新认知,可能夸大了些,但我找不到其他词语来描述了,就这样了),还是用一道现场面试题来:依然答案并不重要,我记得我回答这道题目的时候有理有据,面试出来后,我总感觉哪不对,就又认真看了看源码,写了个demo去验证,果然我的回答大错特错,现在
2022-03-06 14:18:35
8777
原创 2019年百度Android面试题-公共技术点之-View-绘制流程,我把所有Android第三方库整理成了PDF
需要说明的是,用户主动调用 request,只会出发 measure 和 layout 过程,而不会执行 draw 过程2. 概念measure 和 layout从整体上来看 Measure 和 Layout 两个步骤的执行:树的遍历是有序的,由父视图到子视图,每一个 ViewGroup 负责测绘它所有的子视图,而最底层的 View 会负责测绘自身。具体分析measure 过程由measure(int, int)方法发起,从上到下有序的测量 View,在 measure 过程的最后,每个视图存
2022-03-06 14:17:11
3553
原创 2019 Android 高级面试题总结,handler内存泄露
static class Father {public static final String TAG = “Father”;static {System.out.println(“static Father”);}{System.out.println(“unStatic Father”);}public Father() {System.out.println(“constract Father”);method();}public void method() {System.
2022-03-06 14:15:46
4668
原创 18—19年BAT大厂Android高级多套面试专题整理集合(面试资料专题包分享
##2018年收集的面试专题整理四年Android面试遇到的问题整理四年来Android面试大纲{Android}参加阿里完面试后:一到HR四面,我的复盘经验总结!Android大厂面试专题,元旦福利领取~(含答案及详情资料链接)##2019年收集的面试专题整理年后想跳槽涨薪?你想要的面试题全在这里互联网寒冬下,一个 Android 程序员的面试心得金三银四的面试黄金季节,Android面试题来了!2019大厂Android面试经验(含爱奇艺,小米,腾讯,阿里)熬过了互联网“寒冬.
2022-03-06 14:14:20
231
原创 2020年Android开发的未来发展方向该如何走?,kotlinmap函数
移动端开发的现状是什么?我们可以从自己写的代码中寻找线索。以Android 为例,很多大公司的移动端开发者写的最多的代码是这样的:LinearLayout layout = new LinearLayout;layout.addView(xxxx);或者也许是这样的:public class XXXView extends RelativeLayout {public XXXView(Context context) {this(context, null);}public XXXView.
2022-03-05 16:30:02
141
原创 2019年Android岗位BAT等大厂面试题知识点小结,2021最新Android高频精选面试题讲解
ART是安装的时候就编译好了,执行的时候直接就可以运行的,安装慢,开启应用快,占用空间大用个比喻来说就是,骑自行车dalvik 是已经折叠起来的自行车,每次骑都要先组装自行车才能骑ART 是已经组装好的自行车,每次骑直接上车就能走人详情:http://www.jb51.net/article/88708.htm虚拟机原理,如何自己设计一个虚拟机(内存管理,类加载,双亲委派):在加载阶段,java虚拟机需要完成以下3件事:a.通过一个类的全限定名来获取定义此类的二进制字节流。b.将定义类的二进
2022-03-05 16:22:56
175
原创 2017年终总结(小巫),安卓framework开发
工作篇生活篇展望篇分别来总结过去的2017和期望即将到来的2018,进行一个交接仪式。工作篇关于开发者身份的转变熟悉我的小伙伴应该知道我在负责Bugly的热更新&应用升级SDK,这一年来也是一直开发和维护这一块,发布了有10个版本的迭代,这期间录制了一套教学视频,是了为了摆脱无休无止的回答问题,也优化过十几次文档,接入产品应该也有上千个了,也帮助内部产品(包括企业微信、腾讯地图、王者荣耀助手等)成功接入热更新能力。要说最大的变化的话,成为SDK开发者让我对移动端问题的定..
2022-03-05 16:20:06
102
原创 2020新一波跳槽季过后,Android程序员精选,大厂,android底层开发实战
Looper.prepare();Looper.loop();这一切不用我们来做,有现成的,HandlerThread 就是带有 Looper 的线程。想 用 线 程 的 Looper 来 创 建 Handler , 很 简 单 , Handler handler = new Handler(thread.getLooper()),有了上面这几步,你就可以在子线程中创建 Handler 了,好吧, 其实 android 早就为我们想到这一点了,也不用自己写,IntentService 把我们该做的都做
2022-03-04 15:31:46
143
原创 2020上半年已过,疫情下互联网迎来红利期,Android技术下半场在哪?
那么,对于工程师而言需要做什么才能存活呢?很简单,要么转行,要么提高。我相信,一个技术不错的工程师,不但无需焦虑,而且在这个时代,能够拥有稳定的职业生涯和丰厚的收入。Android技术的下半场要说下半场,我更愿意说是“Android技术的下半场”,随着这几年大量的工程师和公司投入研发,Android技术已经从最早的简单页面,到越来越复杂的交互,再到动态化、插件化等新技术和黑科技,这个领域的深度在不断加深。如果想成为优秀、不担心淘汰的工程师,绝不是一味跟风新技术,今天学Kotlin、明天学Flutter
2022-03-04 15:27:30
113
原创 2020Android高级面试题,已系统进行分类,跳槽大厂必刷
HashMap源码理解HashMap如何put数据(从HashMap源码角度讲解)?HashMap怎么手写实现?ConcurrentHashMap的实现原理ArrayMap和HashMap的对比HashTable实现原理TreeMap具体实现HashMap和HashTable的区别HashMap与HashSet的区别HashSet与HashMap怎么判断集合元素重复?集合Set实现Hash怎么防止碰撞ArrayList和LinkedList的区别,以及应用场景数组和链表的区别二叉.
2022-03-04 15:26:05
214
原创 2020 Android 大厂面试-插件化、模块化、组件化,【金三银四
阿里系:DeXposed、andfix:从底层二进制入手(c语言)。阿里andFix hook 方法在native的具体字段。art虚拟机上是一个叫ArtMethod的结构体。通过修改该结构体上有bug的字段来达到修复bug方法的目的,但这个artMethod是根据安卓原生的结构写死的,国内很多第三方厂家会改写ArtMethod结构,导致替换失效。腾讯系:tinker:从java加载机制入手。qq的dex插装就类似上面分析的那种。通过将修复的dex文件插入到app的dexFileList的前面,达到更
2022-03-04 15:23:15
183
原创 2019届应届毕业生Android秋招总结,已成功入职网易云音乐
MVC MVP MVVM 的区别,在项目中的应用MVP如何进行解耦合,P如何实现V 和M 的交互看过什么源码?Retrofit源码,如何实现动态代理,和rxjava如何交互,可不可以设置多个convertFactory,如果设置了怎么办?如何动态确定Volley源码,缓存超时如何判断然后是编程 题,不能使用 java数据结构,实现栈,需要考虑 线程安全 ,泛型 ,扩容, 限定 5分钟能不能优化,scyronized 和 volitle 区别,votile原理IPC方式?Binder原理?Bi
2022-03-04 15:20:24
734
原创 100盏灯的问题,透彻分析源码
}else{light[i-1] = 0;}}}}//统计开灯数for(int i = 0; i < light.length; i++){if(light[i] == 1){result ++;}}System.out.println(“result===” + result);*//*过对灯编号进行约数计数来降低复杂度,约数个数为奇数的灯最后是开着的,约数为偶数的灯是关着的*/for(int i = 1; i <= 100; i ++){for(int
2022-03-04 15:19:00
160
原创 2020Android面试心得,已拿到offer,论程序员成长的正确姿势
一、HashMap和Hashtable区别?这个一定要去看源码!看源码!看源码!实在看不下去的可以上网看别人的分析。简单总结有几点:1.HashMap支持null Key和null Value;Hashtable不允许。这是因为HashMap对null进行了特殊处理,将null的hashCode值定为了0,从而将其存放在哈希表的第0个bucket。2.HashMap是非线程安全,HashMap实现线程安全方法为Map map = Collections.synchronziedMap(new Hash
2022-03-03 12:58:42
199
原创 2019AndroidBAT-字节跳动74道高级面试第二篇,高并发系统基础篇
1.为什么要分新生代和老年代?2.新生代为什么分一个Eden区和两个Survivor区?3.一个Eden区和两个Survivor区的比例为什么是8:1:1?现在还不能解释为什么,但这几个问题都是垃圾回收机制所采用的算法决定的。 所以问题转化为,是何种算法?为什么要采用此种算法?###二.可回收对象的判定讲算法之前,我们先要搞清楚一个问题,什么样的对象是垃圾(无用对象),需要被回收? 目前市面上有两种算法用来判定一个对象是否为垃圾。1. 引用计数算法给对象中添加一个引用计数器,每当有一个地方.
2022-03-03 12:57:17
112
原创 17,android音视频开发面试题
#include Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){ui->setupUi(this);//点击按钮 选取文件connect(ui->pushButton, & QPushButton::clicked, ={QString path = QFileDialog::getOpenFileName(this, “打开文件”, “D:\aaa.txt”);if(path.
2022-03-03 12:51:36
497
原创 05,androidstudio小游戏
//点击按钮才触发QPushButton * btn = new QPushButton(“按钮”, this);//触发无参 信号和槽void (Teacher:: * teacherSignal)(void) = &Teacher::hungry;void(Student:: * studentSlot )(void) = &Student::treat;connect(btn, &QPushButton::clicked, teacher, teacherSign
2022-03-03 12:50:11
963
原创 2019一个移动端开发者的总结与思考(1),附安卓面经
一. 这一年都做了什么?这一年还是挺忙碌的,不管是纯业务开发还是技术改造或者是对我们产线现有问题或者痛点的解决方案都有一些个人的输出,技术确实不能是半空建楼阁,依托具体的业务问题,以技术方案去解决,是更加良好的循环和沉淀,还有很多东西值得去提高去学习。1、上半年产线中的几个复杂页面的流畅度在版本迭代中一直会由于开发的不注意导致频繁出现反复,分析下来根本原因是由于缺乏必要的监控以及可持续的优化手段,所以2019Q1在业务需求之外主要就是实现了产线内部对于用户流畅度的监控以及优化,主要包括:debug下
2022-03-02 18:17:45
135
原创 2019-阿里、腾讯、百度,终于有人把Android程序员必学知识点全整理出来了
就算写出答案也没必要(我写了部分面试答案),因为开发与实际答案会有所不同,再者怕误导大家,所以这些面试题答案还是自己去理解吧!切记:不要背答案,多理解。####Android基础1、什么是ANR 如何避免它?如果耗时操作需要让用户等待,那么可以在界面上显示进度条。2、View的绘制流程;自定义View如何考虑机型适配;自定义View的事件3、分发机制;View和ViewGroup分别有哪些事件分发相关的回调方法;自定义View如何提供获取View属性的接口;4、Art和Dalvik对比;虚拟
2022-03-02 18:16:20
512
原创 2019-BAT大厂-Android社招最全面试题(面试总结+详细解答
一个线程能否创建多个Handler,Handler跟Looper之间的对应关系 ?软引用跟弱引用的区别Handler 引起的内存泄露原因以及最佳解决方案为什么系统不建议在子线程访问UILooper死循环为什么不会导致应用卡死使用Handler的postDealy后消息队列会有什么变化 ?可以在子线程直接new一个Handler吗 ?怎么做 ?Message可以如何创建 ?哪种效果更好 ?为什么 ?###线程(重点)相关线程池的好处?线程池的几个参数的理解,四种线程池的使用场景And.
2022-03-02 18:14:55
261
原创 2018年Android面试题含答案--适合中高级(下),flutter文档
有些手机厂商把这些知名的app放入了自己的白名单中,保证了进程不死来提高用户体验(如微信、QQ、陌陌都在小米的白名单中)。如果从白名单中移除,他们终究还是和普通app一样躲避不了被杀的命运,为了尽量避免被杀,还是老老实实去做好优化工作吧。所以,进程保活的根本方案终究还是回到了性能优化上,进程永生不死终究是个彻头彻尾的伪命题!8、讲解一下ContextContext是一个抽象基类。在翻译为上下文,也可以理解为环境,是提供一些程序的运行环境基础信息。Context下有两个子类,ContextWrapper
2022-03-02 18:13:30
226
原创 2015年Android作品集,android程序开发教程
要严肃,有知识;要八卦,有内幕。每天一篇,尽享你想知道的和不知道的,我们只想,让知道成为一种享受。请记住知道,南方周末每日网络专稿。1.每天推送一篇你想知道的2.来这里说说你想知道的,也许你想知道的就是下一篇知道3.遇到喜欢的内容可随时收藏4.支持QQ、微信、微博和豆瓣社交账号登录与分享,与好友一起分享知道下载地址:http://www.wandoujia.com/apps/com.infzm.daily.know南方周末新闻阅读器=========这是南方周末,任..
2022-03-02 18:12:04
114
原创 06,最新精心整理Android面试题
class MainWindow : public QMainWindow{Q_OBJECTpublic:MainWindow(QWidget *parent = 0);~MainWindow();};#endif // MAINWINDOW_Hmainwindow.cpp#include “mainwindow.h”#include #include #include #include #include #include MainWindow::MainWindow(QW
2022-03-02 18:07:49
69
原创 01、泛型是什么?,Android经典面试题详解
}public void setData(T data) {this.mData = data;}}3. 泛型方法// public后面的是泛型方法的关键public Generics getGenerics() {return new Generics();}2.2 泛型边界以上几种类型均可定义泛型的边界,语法 、<T extends A&B&…>,泛型重载了extends的关键字,与通常JAVA中使用的extends不同。< T extend
2022-03-02 18:06:24
195
原创 2021Android 开发岗面试时,可能会被问到的一些问题集合,移动APP开发框架盘点
6)判断是否为负值返回结果。Android高频面试题1.详细说说 Binder 通信原理与机制?2.Linux 自 带 多 种 进 程 通 信 方 式 , 为 什 么?3.进程保活如何做到,你们保活率有多高?4.说下你所知道的设计模式与使用场景?5.java 语言的特点与 OOP 思想?6.说下 java 中的线程创建方式,线程池的工作原理。7.说下 handler 原理?8.内存泄漏的场景和解决办法?9.如何避免 OOM?10.说下 Activ
2022-03-01 19:21:12
137
原创 2020最新BAT Android高端技术面试145题详解,android开发简历自我评价
7.TCP与UDP的应用8.HTTP协议9.HTTP1.0与2.0的区别10.HTTP报文结构11.HTTP与HTTPS的区别以及如何实现安全性12.如何验证证书的合法性?13.https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解?14.client如何确定自己发送的消息被server收到?15.谈谈你对WebSocket的理解16.WebSocket与socket的区别17.谈谈你对安卓签名的理解。18.请解释安卓为啥要加签名机制?19.视频加密传输
2022-03-01 19:18:22
177
原创 2020我的头条面试之旅,面试官不会的我都会完爆面试官,轻松拿下Offer年薪70w
然后就是问我我的项目代码进行过怎样的优化、现在还存在哪些问题,我说以前代码结构太差,牵一发而动全身,后来学习了设计模式,代码结构就清晰了很多,面试官又仔细问了我用到了哪些设计模式,是怎么改造代码的;然后问存在的问题,我答还缺乏一个通用的框架来支撑各种不同的二维码,然后面试官问了我继续改造的思路。最后面试官跟我说虽然前面两轮面试问了很多基础,但他还是要考考我,问我Java里有哪些Map。这题倒是把我难住了,因为我只是看过Map的各种继承的图,还没专门背下来过,于是我就只说出了HashMap、LinkedHas
2022-03-01 19:16:57
1229
原创 2020年,Android开发想自学可能吗,大概要多久,安卓开发面试问题
然后可以了解一下C语言,Java这些——总体思路就是从基础学起,这就和修仙一样,先得筑基。【如果是有一定编程基础的朋友】那么入门Android就会比较容易,技术方向可以主攻当下大厂最重视的一些方向,这也是Android从业多年的老人们想要升职加薪必须掌握的进阶学习方向。努力固然十分重要,但是如果没有正确方向,你的努力只会收效甚微,说白了就是在浪费时间。但是有了正确的方向你就会事半功倍。其实还有一个捷径,那就是:报班儿。如果你觉得自己在这个茫茫数据大海里找到有用的学习资料并进行学习是一件很困难的事情,
2022-03-01 19:15:32
253
原创 2020年最全Android面试攻略,kotlinui封装
我本身经历过一次MVC -> MVP的过渡,所以面试的时候就只提了这两种。MVVM没接触过,就实话实说没搞过,面试官也不会再问。千万不要打肿脸充胖子,没接触过就说不会就可以了。关键词:UI逻辑、业务逻辑、不影响对方的前提下修改、逻辑清晰,方便定位**Android基础:**这个就很重要了,当然涉及面也相当广。四大组件,生命周期这个啥都不说了,直接冲就是了,基本都会问到。Handler、View绘制流程、事件分发,这些都是老生常谈。**Android框架基础:**AMS,Activity的启动过.
2022-03-01 19:14:07
117
原创 2020 Android 大厂面试-插件化、模块化、组件化,移动开发工程师的岗位职责
替换了主工程context中LoadedApk的mResource对象将新的Resource添加到主工程ActivityThread的mResourceManager中,并且根据Android版本做了不同处理//第三步:关联resource和ActivityActivity activity = mBase.newActivity(plugin.getClassLoader(), targetClassName, intent);activity.setIntent(intent);//设置Act
2022-03-01 19:09:52
257
原创 2019年最新Android面试精讲--带你复制年薪70W的神话,androidsdk开发流程
###二.2019年Bat面试集合###三.腾讯面试集合###四.字节跳动面试集合###五.分享一波简介的面试题目腾讯—什么是对称加密,什么是非对称加密,公钥与私钥属于对称加密吗面试官: 什么是对称加密,什么是非对称加密,公钥与私钥属于对称加密吗心理分析:密码学一般是大学计算机专业学的,面试官在靠这个问题的时候 并不会深入密码学底层的内容,知识考到对称与非对称的区别。这个问题一般不会深入问道,但是会问道关于https,https目前使用了非对称加密。但是求职者千万别陷入坑中,说没
2022-03-01 19:08:26
242
原创 2020上半年百度Android岗(初级到高级)面试真题全收录,顺利收获Offer
3、synchronized 和volatile 、ReentrantLock 、CAS 的区别。这个问题被问频率不在HashMap 之下,因为并发编程,真的很重要。能问到这几个点的方式真的是太多了,我们能发挥的空间也同样很大。CAS 的ABA 问题?上面几个东西的特性?使用场景?大概我不用再例举了吧?对了,我多次被问到的一个问题是:synchronized 修饰实例方法和修饰静态方法有啥不一样。4、String、StringBuffer、StringBuilder 区别都是字符串类,Strin
2022-02-18 12:12:53
131
原创 12年高级工程师的“飞升之路”,flutter开源项目2020
5.Java虚拟机原理6.反射与类加载7.高效IO二、Android框架体系架构1.高级UI晋升2.Android组件内核3.大型项目必备IPC4.数据持久化5.Framework内核解析三、360全方面性能调优1.设计思想与代码质量优化2.程序性能优化3.开发效率优化四、设计思想解读开源框架1、热修复设计2、插件化框架解读3、组件化框架设计4.图片加载框架5.网络访问框架设计6.RXJava响应式编程框架设计7.IOC架构设计8.Android架构组件Jet
2022-02-18 12:11:28
733
原创 2020 Android凉了?35岁程序员大量被优化?作为程序员一定不要仅仅追求物质
OOP思想与设计模式Android基础数据结构与算法其他,比如JVM相关除了编程基础,我们还需要补充哪些能力喜欢钻研的兴趣良好的英语理解能力善于思考和总结的习惯高效率的学习方法能够机智地利用Google搜索善于利用工具和现实事物关联类比的能力对待问题的态度1.喜欢钻研的兴趣, 尽管高级编程语言的出现让我们将精力更多的放到业务上,而不是编程细节。正所谓知其然知其所以然,钻研细节可以更好地帮助我们实现业务,做到了然于胸。2...
2022-02-17 17:23:59
157
原创 2019阿里、腾讯、字节跳动Android高级面试题小整理,想转行当程序员的必看
音视频同步原理,音视频能绝对同步吗硬编码和软编码区别,录屏时如何选取硬编和软编有做过直播特效吗,说说原理和难点include、merge、ViewStub的作用和原理OpenCV中定位人脸的五个点怎么做到为什么RecyclerView加载首屏会慢一些View绘制机制,onMeasure、onLayout、onDraw方法的调用机制为什么Android会出现卡顿ThreadLocal底层原理和Handler的关系Flutter为什么会做到处处运行,与RN的区别Flutter的图形引擎和A.
2022-02-17 17:22:34
924
原创 2018 Android面试心得,已拿到offer,android进程管理器
五、HandlerThread、IntentService理解六、弱引用、软引用区别七、int、Integer有什么区别主要考值传递/引用传递、拆箱/装箱问题八、手写多种 生产者/消费者 模式(二)Android一、android启动模式需要了解下Activity栈和taskAffinity1.Standard:系统默认,启动一个就多一个Activity实例2.SingleTop:栈顶复用,如果处于栈顶,则生命周期不走onCreate()和onStart(),会调用onNewIntent(
2022-02-17 17:21:09
200
原创 188,android音乐播放器开发教程
public MainAdapter(FragmentManager fm) {super(fm);// TODO Auto-generated constructor stub}//每一个条目返回的fragment@Overridepublic Fragment getItem(int position) {if(position == 0){return new HomeFragment();}else{return new AppFragment();}}//条目的总数@O
2022-02-17 17:19:44
1212
原创 16 个好用的 Code Review 工具,2个月面试腾讯、B站、网易等11家公司的面经总结
2. Reshift==============================================================================Reshift 是一个基于 SaaS(Software-as-a-Service,软件即服务)的软件平台,它可以帮助软件开发团队在部署代码到生产环境之前,更快地识别出代码中更多的漏洞。可以减少发现和修复漏洞的成本和时间,可以识别数据泄露的潜在风险,并能帮助软件公司达到合规性和法规要求。主要特性:可以与 Github 和 Bit
2022-02-17 17:18:19
226
原创 10年Android经验老程序员浅谈职业发展:非科班出身程序员如何弥补技术差距进入好公司?
在学校里,就该去积累项目经验,或自己通过运行代码熟悉框架技能。不过如果已经不慎错过学校里的时间,但现在想迎头赶上,只要努力了,什么时候都不晚!小总结总的来说,非科班出身的程序员在市场上基数不算小,其中大多数的确面临编程水平有限、知识分布不平衡、技术经验存在短板等现实困难。而行业对于非科班出身者的偏见也几乎是普遍存在的。那么对于一个希望转型成为程序员的非计算机科班出身人员,有哪些值得重视的经验呢?通过以上案例,100offer 归纳如下:快速建立知识体系获取程序员式的思维方式寻找合适的途径实现技
2022-02-17 17:15:28
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人