- 博客(125)
- 收藏
- 关注
原创 2020美团Android面试(附全套面试真题解析),android快速开发框架
fragment各种情况下的生命周期Fragment状态保存startActivityForResult是哪个类的方法,在什么情况下使用?如何实现Fragment的滑动?fragment之间传递数据的方式?Activity 怎么和Service 绑定?怎么在Activity 中启动自己对应的Service?service和activity怎么进行数据交互?Service的开启方式请描述一下Service 的生命周期谈谈你对ContentProvide..
2021-12-08 12:59:27 767
原创 2020年,Flutter-和-React-Native-谁主沉浮-,androidwebview白色
Flutter vs React Native:详细比较让我们详细看看这两个平台之间的差异,并找出使用 React native 和Flutter 的优缺点。程序设计语言跨平台的应用程序开发框架都使用不同的编程语言。React native 可以使用 Javascript开发,这不需要任何介绍。长期以来,它一直是开发人员最好的编程语言。因此,可以理解为什么 React Native 在开发特定于服务器,Web或移动应用程序时获得了极大的欢迎。然而,由谷歌开发的Flutter 使用了一种新的编程语
2021-12-08 12:56:16 1037
原创 2020年末知识大总结:Java程序员转Android开发必读经验一份,嵌入式开发入门教程
Android是主流智能手机的操作系统,Java是一种开发语言,两者没有好坏优劣之分,只是两种职业岗位的选择。学安卓从事移动互联方向开发,学Java从事软件、网站开发。而安卓上的应用大多是Java编写的,所以建议在安卓前期的Java学习阶段中,要用心学好。言简意赅的说说“转”前的准备:其实Java程序员要自学安卓开发的基础知识还是没有什么难度的,毕竟语言相通,特性相似, 阅读安卓源代码的门槛以比较低一些,作为能够考虑“转”的合格的程序员的你,自学能力和相关的基础知识应该不是问题,学习安卓也相对比较轻松.
2021-12-08 12:53:59 970
原创 2020年最新字节跳动Android开发者常见面试题及详细解析,为什么说Flutter让移动开发变得更好
大部分开发者进入公司,一个必备的环节就是面试,只有通过面试,才能知道求职者是否符合公司的要求,也只有通过面试,求职者才能有幸进入到企业里工作,那么怎么才能提高面试的成功率呢?对于开发者而言,显然是技术的掌握水平,由于技术的面非常广,我们并不可能全部的都掌握,但是,多多少少我们都有所了解,准备的越充足,意味着成功率也能大大的提高。对于Android的面试,我们可以发现,要求的是越来越多,越来越严苛,面试如同造航母,已经远不如14年15年那么好找了,对于一些点,不仅仅要会用,一些原理源码性的东西,也必须得去.
2021-12-08 12:51:54 224
原创 2020下半年,最接地气的字节跳动Android面经分享(已收offer,Android程序员如何有效提升学习效率
懂一点应用层方面的音视频编解码知识我的字节面经:==================================================================字节一面 八十多分钟:(大多是技术问题)自我介绍,项目介绍一个activity启动另外一个activity的生命周期调用(这里扯到了allowtaskreparent和taskaffinityhandle的原理,子线程为什么不能更新UI?view的绘制过程滑动冲突接口和抽象类的区别.
2021-12-07 09:06:40 558
原创 【无标题】
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-12-04 11:02:24 104
原创 35 岁以上Android开发者都去哪里了?,三面蚂蚁核心金融部
人这一辈子没法做太多的事情,所以每一件都要做得精彩绝伦。你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。身边好几个年轻的同事都在说房价,很多人抱怨房价太高了买不起怎么办好迷茫…其实中国人有几个是真没房住的?相对于房价来说房租便宜得很,买不起总租得起吧。实在租不起了回老家也总有你能住的房子。如果单纯只论“住”或只论“房子”,对于现在的.
2021-12-03 20:55:56 1557 2
原创 3-5年的Android工程师最容易遇到4个瓶颈是什么?,android高级开发面试题以及答案
而大多数3-5年Android开发者薪资水平是多少呢? 大多是处于10k到20k之间,并且明显感觉到提升很难了,除非转型做到了管理层待遇会好一些,技术上的要求也会没那么高。3-5年的Android工程师最容易遇到的4个瓶颈是什么?1.原理认知浅工作内容多是简单UI界面开发和第三方SDK整合,对原理层和底层开发了解不深2.技术视野窄长期在小型软件公司,外包公司工作,技术视野被限制的太厉害3.薪资提升难初中级Android岗位薪资上升空间有限,基本上你想拿15k以上,不会点源码层的东西是根本拿不到
2021-12-03 20:52:49 138
原创 25,Android工程师跳槽经验分享
#include namespace Ui {class Widget;}class Widget : public QWidget{Q_OBJECT//分别代表 聊天信息、新用户加入、用户退出enum MsgType {Msg,UsrEnter,UsrLeft};public:explicit Widget(QWidget *parent, QString name);~Widget();private:Ui::Widget *ui;signals://关闭窗口发送关闭信息
2021-12-03 20:50:37 128
原创 244,差点挂在第四面
#endiflogin.h//// Created by Administrator on 2019/10/13.//#include <jni.h>#ifndef HELLO_LOGIN_H#define HELLO_LOGIN_H#define TAG “JNI”#ifdef __cplusplusextern “C” {#endif/*Class: com_ldw_hello_BridgeUtilsMethod: loginSig
2021-12-03 20:49:05 106
原创 2021金九银十面试讴歌系列,Android面试不可不看的经验,android网络层框架设计实战
技术博客或者github主页没有什么内容也写到简历里。记住技术博客或者github主页这一类的,本来都属于加分项,可有可无的,但是如果你写了,面试官誓必会满怀期待地点进去看,如果这个时候呈现给他的却是空白页或者寥寥几行内容的话,这种一落千丈的感受会给面试官留下非常不好的印象。简历中填写很多对求职无关的内容。与职位要求无关的内容就不需要写到简历里去了。因为你的简历是拿去找工作用的,任何一个与找工作无关的内容写到简历里只会浪费你简历的空间。例如你的一些兴趣爱好或者无关证件。自我介绍要背得滚瓜烂熟..
2021-12-03 20:47:37 417
原创 2021年最新五年经验Android社招面试总结分享,移动开发框架
17. 了解注解吗?18. 了解反射吗?为什么要使用反射?19. 你平常是怎么进行加密的?20. MD5 加密是可逆的吗?21. 接口与抽象类的区别?22. static 方法可以被覆盖吗?为什么?23. Java 中关于 equals 和 hashcode 的理解?24. 知道 ThreadLocal 吗?说说对它的理解?25. 面向对象的三大特性,如何理解其中的多态?26. 你知道哪些设计模式?为什么要这样用?能解决什么问题?问到的Android相关的知识点:Android 实
2021-12-03 20:43:36 360
原创 2020,android开发网络通信
以下是面试中被问到的一些问题基础:1.描述一下Activity 生命周期?2.A Activity 打开 B Activity 时都有哪些生命周期回调?3.Activity的启动模式分别说一下4.如何保存Activity的状态或者(Activiy 重启怎么保存数据?)5.横竖屏切换时Activity的生命周期6.onStart,onStop和onResume,onPause的区别?7.横竖屏切换时的生命周期?8.Android中的Context, Activi
2021-12-03 20:41:31 456
原创 2020阿里巴巴,字节跳动,京东,flutter下拉刷新
2.3、bindService生命周期bindService方式启动Service主要有以下几个生命周期函数:onCreate():首次创建服务时,系统将调用此方法。如果服务已在运行,则不会调用此方法,该方法只调用一次。onStartCommand():当另一个组件通过调用startService()请求启动服务时,系统将调用此方法。onDestroy():当服务不再使用且将被销毁时,系统将调用此方法。onBind():当另一个组件通过调用bindService()与服务绑定时,系统将调用
2021-12-03 20:39:42 137
原创 8年Android老油条告诉你:不知道这些,想什么跳槽涨薪,今年Android面试必问的这些技术面
1、岗位职级阿里巴巴集团采用双序列职业发展体系:一套体系是专家路线【P序列=技术岗】,程序员、工程师,某一个专业领域的人才,一共分为 14 级,从 P1 到 P14,目前校招最低从 P4 开始。一套体系是M路线,即管理者路线【M序列=管理岗】,从M1到M10。一般来说,应届毕业生刚入职到阿里为P5,工作1-3年之后升职到 P6,阿里一般到 P7 才给配股票。2、岗位薪酬阿里薪资结构:一般是12+1+3=16薪。年底的奖金为0-6个月薪资,90%人可拿到3个。股票是工作满2年才能拿,第
2021-11-30 13:23:07 1043
原创 58APP引入Kotlin进行Android开发,android学习视频
上面说的Kotlin插件已经带了此功能,点击Tools–Kotlin–Show Kotlin ByteCode即可查看到class文件内容,编辑器左上角贴心的带了一个Decompile按钮,点击此按钮即可看到反编译后的Java源码了。如下图所示Java转Kotlin老的Java代码也可以转为Kotlin,选中需要转换的Java文件右键最下面一个选项Conver Java File To Kotlin File。如下所示:如果遇到不懂的语法也可以直接将Java代码复制到Kotlin文件,会自动转成Ko
2021-11-30 13:19:24 673
原创 30岁程序员面临的困境,20道Android工程师面试必问题
当然我们也可以产业、从社会、从政府、从制度等多方面进行分析,发现不足,这些分析未必没有道理,但是肯定没有用,因为我们无法改变。所谓“命苦不能怪政府,命背不能怪社会”,从外部找原因,只会让我们满腹牢骚,整天觉得自己生不逢时,苦闷不堪。从自身找原因,试着问自己几个问题:“为什么我的性价比以下降?老板为什么要请我,给我高工资呢?一个人有价值是由什么决定的呢?”你也许可以列出很长很长的答案,但我想应该都可以浓缩为一句话:“一个的价值是由他的不可替代性决定的”。不可替代性可以理解为,为了替代你老板需要付出的代价。
2021-11-29 10:12:33 192
原创 2021大厂Android面试高频100题最新汇总(附答案详解),安卓消息分发机制
请问 hashset 存的数是有序的吗?输入一个二叉树和一个整数,打印出二叉树中节点值的和等于输入整数所有的路径二叉树的搜索区间现在有一个单向链表,谈一谈,如何判断链表中是否出现了环随机链表的复制找出数组中和为S的一对组合,找出一组就行求一个数组中连续子向量的最大和谈一谈,如何得到一个数据流中的中位数?你知道哪些排序算法,这些算法的时间复杂度分别是多少,解释一下快排?请你解释一下,内存中的栈(stack)、堆(heap) 和静态区(static ar..
2021-11-29 10:04:15 1400
原创 2020年前端面试复习必读文章【超百篇文章赠复习导图】,移动开发工程师的发展路线
重新认识构造函数、原型和原型链JavaScript深入之从原型到原型链最详尽的 JS 原型与原型链终极详解,没有「可能是」。(一)最详尽的 JS 原型与原型链终极详解,没有「可能是」。(二)最详尽的 JS 原型与原型链终极详解,没有「可能是」。(三)JavaScript 引擎基础:原型优化Prototypes in JavaScriptJavaScript深入之创建对象的多种方式以及优缺点详解JS原型链与继承从__proto__和prototype来深入理解JS对象和原型链代码复用模式.
2021-11-29 09:58:10 431
原创 2020年GitHub标星2-9K的Android基础——高级面试题合集,程序员面试题精选100题
5、onSaveInstanceState() 与 onRestoreIntanceState()Android高级面试题1、你们做了哪些稳定性方面的优化?2、性能稳定性是怎么做的?3、业务稳定性如何保障?4、如果发生了异常情况,怎么快速止损?5、Native CrashJava基础面试题1、谈谈对 java 多态的理解?2、你所知道的设计模式有哪些?3、通过静态内部类实现单例模式有哪些优点?4、静态代理和动态代理的区别,什么场景使用?5、简单工厂、工厂方法、抽象工厂、Bui
2021-11-29 09:56:20 228
原创 Android 启动优化(六)- 深入理解布局优化,价值2000元的学习资源泄露
渐进式加载===================================================================什么是渐进式加载渐进式加载,简单来说,就是一部分一部分加载,当前帧加载完成之后,再去加载下一帧。一种极致的做法是,加载 xml 文件,就想加载一个空白的 xml,布局全部使用 ViewStub 标签进行懒加载。这样设计的好处是可以减缓同一时刻,加载 View 带来的压力,通常的做法是我们先加载核心部分的 View,再逐步去加载其他 View。有人可能会
2021-11-28 13:29:09 301
原创 Android _ Jetpack 处理回退事件的新姿势 —— OnBackPressedDispatcher
================================OnBackPressedDispatcher 源码不多,我直接带着问题入手,帮你梳理 OnBackPressedDispatcher 内部的实现原理:3.1 Activity 如何将事件分发到 OnBackPressedDispatcher?答:ComponentActivity 内部组合了分发器对象,返回键回调 onBackPressed() 会直接分发给 OnBackPressedDispatcher#onBackPressed()
2021-11-28 13:27:37 429
原创 Android WebView独立进程解决方案,2个月面试腾讯、B站、网易等11家公司的面经总结
void handleWebAction(int level, String actionName, String jsonParams, in IWebAidlCallback callback);}IWebAidlCallback: 结果回调interface IWebAidlCallback {void onResult(int responseCode, String actionName, String response);}为了维护独立进程和主进程之间的连接,避免每次aidl调用时都
2021-11-28 13:26:03 365
原创 Android R WindowManagerService模块(3) Window的relayout过程,灵魂拷问
win.setFrameNumber(frameNumber);final DisplayContent dc = win.getDisplayContent();// 如果此时没有执行Configuration的更新,试图结束衔接动画if (!dc.mWaitingForConfig) {win.finishSeamlessRotation(false /* timeout */);}// 用来标记属性是否发生变化int attrChanges = 0;int flagChanges =
2021-11-28 13:23:51 761
原创 Android AIDL:跨进程调用Service (AIDL Service),kotlininvoke函数
/**Construct the stub at attach it to the interface.*/public Stub() {this.attachInterface(this, DESCRIPTOR);}/**Cast an IBinder object into an com.zhuanghongji.startservicefromanotherapp.IAppServiceRemoteBinder interface,generating a proxy if
2021-11-28 13:22:20 408
原创 Android 7,2021最新Android面试笔试题目分享
android.os.FileUriExposedException: file:///storage/emulated/0/Download/xxxAppName.apk exposed beyond app through Intent.getData()手机端调用的代码如下:Intent intentUpdate = new Intent(“android.intent.action.VIEW”);intentUpdate.setFlags(Intent.FLAG_ACTIVITY_NEW_TA
2021-11-28 13:20:51 327
原创 Android 3年外包工面试笔记,有机会还是要去大厂学习提升,作为一个Android程序员
聊的还算愉快,就这样结束了,两次面试都没有提及薪酬待遇问题,这一点后来回去之后才发现。二、广州拓普基因第一面这家公司是在珠江新城高德置地广场,离我现在的位置比较近,之前在官网了解了下,最终也没搞清楚是做怎么样的医疗项目,不管了,下面是面试过程…在前台稍等了下,进入小会议室,接连来了两个面试人员。貌似技术人员的问题(为啥貌似,因为问题和技术好像也没什么关系)自我介绍(我一贯的自我介绍都是从大学毕业到当前公司是怎么个过程说一遍 很简洁)分别介绍下项目(依依介绍完毕)项目人员分配/负责
2021-11-28 13:19:08 167
原创 Android - 底部菜单架构设计及封装实现,flutter中文文档
二、Android中,可以将某块自定义的UI从layout.xml中实例化出来使用,使用的是LayoutInflater,基于该技术,我们可以换一种思路来解决这个问题:写页面layout文件的时候不用关心底部菜单。然后在展示的代码中,定义一个大的视图页面将页面的layout文件以及底部菜单的layout包含进来,过程如下图所示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lAONrIje-1638076594364)(http://hi.csdn.net/attachme
2021-11-28 13:16:50 146
原创 Accompanist组件库中文指南 - Glide篇,劲爆
⚠️ 小提示:若非必要,建议使用 Coil。 Coil 是基于 Kotlin协程实现的,这就意味着它可以更好地与 Jetpack Compose 集成,因为后者也大量地使用了协程。rememberGlidePainter()主要 API rememberGlidePainter() 的最简单用法如下:import androidx.compose.foundation.Imageimport com.google.accompanist.glide.rememberGlidePainterI..
2021-11-28 13:14:45 716
原创 3-5年以上的Android原生开发如何深入进阶?高级工程师必须要掌握哪些?
做好业务需求的功能。这个是初级程序员就应该有的能力。**解决极端情况下的技术问题,比如性能优化,OOM等。**稍有点规模的公司,肯定都会遇到这种问题,比如上文中说的App在部分机型上崩溃、页面加载不出来等。只是大部分程序员会觉得难以复现,或者是因为小概率事件而忽略了。**在忽略这些问题的过程中,也放弃了进一步提升的可能性。**还有一部分程序员是看到了这些问题,但一直不知道怎么解决,因为这些问题的产生基本都是要往底层框架去找原因,而平时只关注上层的业务逻辑代码,因而没有深入研究底层的原理,导致心有余而力不.
2021-11-28 13:12:56 622
原创 Android Framework:深入探索 AIDL 数据流动,android开发基础课程
}@Overridepublic void changePerson() throws RemoteException {mPerson.setName(“CCCCCCC”);Log.d(TAG, "changePerson: " + mPerson);}@Overridepublic void personChanged() throws RemoteException {Log.d(TAG, "personChanged: " + mPerson);}@Overridepublic
2021-11-27 10:13:37 132
原创 Android BLE 蓝牙通信库,焦虑的移动互联网开发者如何破局
所有接口都通过 BluetoothClient 调用,涉及的常量如回调的错误码都在 Constants 类中。设备扫描支持经典蓝牙和 BLE 设备混合扫描,可自定义扫描策略。每次扫描都要创建新的 SearchRequest,不能复用。SearchRequest request = new SearchRequest.Builder().searchBluetoothLeDevice(3000, 3) // 先扫 BLE 设备 3 次,每次 3s.searchBluetoothClassicD
2021-11-27 10:12:05 512
原创 Android App Bundle探索,客户端开发面试题目
Android App Bundle是Google最新推出的Apk动态打包,动态组件化的技术,通过一个.aab结尾的bundle文件组装一个apk来为你的设备安装。这是一篇科普的文章,后续会对源码进行剖析。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8EU4n8MZ-1637979015924)(https://user-gold-cdn.xitu.io/2018/6/3/163c3bfe69e8f879?imageView2/0/w/1280/h/960/ignore-
2021-11-27 10:10:31 166
原创 Android 3年外包工面试笔记,有机会还是要去大厂学习提升,android开发实习面试题
今年5月份由于公司项目完成了,也准备各奔东西了,因为是外包的,所以也开始了面试,下面记录下我遇到的面试公司以及每一面的过程。一、广州博冠这家是以硬件为主进行的智能软硬件结合的公司,硬件资源丰富,集团主要做望远镜等等很多,面试这家主要做智能家居方向的,目前有成熟的产品上线,接下来准备做智能监控方向的app项目,硬件工程师,后端工程师,硬件,软件都自己做,老牌公司,还是挺完整的。第一面面试官看起来比较成熟,但也大不过我几岁,问的问题大概是基础内容,下面回忆整理下:网络方面tcp/ip 三次握手过
2021-11-27 10:08:19 213
原创 Android - JNI 开发你所需要知道的基础,Android工程师面试题
// 2. 获取成员变量 idjfieldID strFieldId = env->GetFieldID(clazz,“testField”,“Ljava/lang/String;”);// 3. 根据 id 获取值jstring jstr = static_cast(env->GetObjectField(thiz, strFieldId));const char* cStr = env->GetStringUTFChars(jstr,NULL);LOGE(“获取 MainAc
2021-11-27 10:06:47 666
原创 Andorid 开发艺术探索笔记(2),跨平台小程序开发框架
singleTop:栈顶复用模式这种模式下如果Activity已经位于栈顶则这个Activity不会重新创建,同时它的onNewIntent方法会被调用,通过此方法的参数我们可以取得当前的请求信息。如果新的Activity不是位于栈顶,那么它就会重新被创建。如果目前的栈为ABCD,模式为standard,要创建一个D,则栈变为ABCDD,如果为singleTop则为ABCD。singleTask:栈内复用模式这是一种单实例模式。Activity启动时要先查找栈里面是否有实例,如果有则将其调为栈.
2021-11-27 10:05:19 104
原创 Activity 的 36 大难点,你会几个?,安卓面试2020
前言学 Android 有一段时间了,一直都只顾着学新的东西,最近发现很多平常用的少的东西竟让都忘了,趁着这两天,打算把有关 Activity 的内容以问题的形式梳理出来,也供大家查缺补漏。本文中,我将一改往日写博客的习惯,全文用 XMind 将所有知识点以思维导图的形式呈现,欢迎大家食用~~文章目录[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QHgA2dEJ-1637978600673)(https://user-gold-cdn.xitu.io/201
2021-11-27 10:03:36 281
原创 9次Android面试经验总结,已收字节,阿里,高级android面试答案
4.SingleInstance:这个是SingleTask加强本,系统会为要启动的Activity单独开一个栈,这个栈里只有它,适用新开Activity和app能独立开的,如系统闹钟,微信的视频聊天界面不知道是不是,知道的同学告诉我下,在此谢过!另外,SingleTask和SingleInstance好像会影响到onActivityResult的回调,具体问题大家搜下,我就不详说。Intent也需要进一步了解,Action、Data、Category各自的用法和作用,还有常用的Intent.FLAG
2021-11-27 10:01:18 360
原创 985本3Android程序员40天拿下阿里P6口头offer,面试成功后整理了这些面试思路
认为自己的职场履历需要一段大厂经历。这一点本来不太想说,但是确实也是自己比较在意的一点,那就是组织架构频繁变动,导致业务线频繁变更,这一点对业务很不利,需要一直磨合。面试目标其实当时的面试目标也不是单一的,比如我的面试目标按以下排序:阿里巴巴 > 头条 > 美团 > 小米阿里的面试经历阿里一面简历上写的项目问了一遍,然后开始问知识点。volley的源代码,在图片缓存部分讨论了挺长时间,http中缓存机制,Last-Modify的作用等;fragme..
2021-11-27 09:59:14 573
原创 7次Android面试,经验与心得总结分享,已收字节,万分膜拜
扩展,HashMap 对比 ConcurrentHashMap ,HashMap 对比 SparseArray,LinkedArray对比ArrayList,ArrayList对比Vector二、Java垃圾回收机制需要理解JVM,内存划分——方法区、内存堆、虚拟机栈(线程私有)、本地方法栈(线程私有)、程序计数器(线程私有), 理解回收算法——标记清除算法、可达性分析算法、标记-整理算法、复制算法、分代算法,优缺点都理解下。详细的可以看看其他同学写的 点击打开链接三、类加载机制这个可以结合 热修
2021-11-27 09:57:24 152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人