- 博客(137)
- 收藏
- 关注
原创 从阿里9面到腾讯5面后被字节捞走,四年Android 开发辛酸之路…,androidstudio汉化
常用的对称加密算法,有什么?view分发反向制约的方法这次的面试没及时复盘,所以后半个小时的面试题忘得差不多了。这次的面试官比较严肃,搞得我有点紧张,所以最后 还是挂了,然后就是新一轮的面试。四面(2018年4月春招)动态代理的方法怎么初始化的cglib动态代理三个线程wait,唤醒情况是什么样的最终是谁持有的activity,handler内存泄露(内存泄漏这点真的是无比幸运,刚好找到的视频里面讲过)handler的sendmessage和postdel..
2022-03-01 23:07:11
385
原创 【自学Flutter】22 CustomScrollView的使用,android面试及答案
}class _MyAppState extends State {@overrideWidget build(BuildContext context) {return MaterialApp(home: Scaffold(body: CustomScrollView(slivers: [SliverAppBar(leading: Icon(Icons.apps,color: Colors.deepOrange,),pinned: true,expandedHeight: 200,
2022-03-01 22:57:15
2193
原创 【码上开学】Kotlin 协程的挂起好神奇好难懂,714页PDF的鸿蒙学习笔记
suspend 是有暂停的意思,但我们在协程中应该理解为:当线程执行到协程的 suspend 函数的时候,暂时不继续执行协程代码了。我们先让时间静止,然后兵分两路,分别看看这两个互相脱离的线程和协程接下来将会发生什么事情:线程:前面我们提到,挂起会让协程从正在执行它的线程上脱离,具体到代码其实是:协程的代码块中,线程执行到了 suspend 函数这里的时候,就暂时不再执行剩余的协程代码,跳出协程的代码块。那线程接下来会做什么呢?如果它是一个后台线程:要么无事可做,被系统回收要么继续执行别的
2022-03-01 22:55:50
454
原创 【最强】Android 项目集成 Flutter 实战分享,面试必会
使用 AAR 形式集成 Flutter 可以不用安装 Flutter SDK。可以将 AAR 上传到Maven 或 jcenter 仓库(jcenter 即将停止服务,所以还是使用 maven 吧)。这样应用起来更方便。如果代码更新比较频繁使用 AAR 形式集成则需要经常构建、发布,所以大家根据自己的项目及使用场景自行选择集成方案。如何生成 AAR 包生成 AAR 包通常有两种方式。1. 使用 flutter 命令假设构建一个 Flutter 模块 some/path/my_flutter,然后运行
2022-03-01 22:54:25
936
原创 shell使用详解,看了这篇文章我才真正理解了
ENDEmbedded newlines are ok toolong_string="I am an exceptionallylong string."管道如果一行容不下整个管道操作,那么请将整个管道操作分割成每行一个管段。如果一行容得下整个管道操作,那么请将整个管道操作写在同一行。否则,应该将整个管道操作分割成每行一个管段,管道操作的下一部分应该将管道符放在新行并且缩进2个空格。这适用于使用管道符’|’的合并命令链以及使用’||’和’&&’的逻辑运算链。All fits
2022-02-17 23:05:16
2261
原创 RxHttp 2000+star,协程请求,android项目开发实战
sort 排序排序有sortXxx、sortedXxx两大类型操作符,区别在于sortXxx在列表内排序,排序完,返回自身,而sortedXxx在列表外排序,排序完,返回新的列表,这里只对sortXxx介绍,如下://根据id顺序排序val students = RxHttp.postForm("/service/…").toList().sortBy { it.id }.await()//根据id、age两个字段顺序排序,id优先,其次ageval students = RxHttp.po
2022-02-17 23:02:26
230
原创 React,阿里腾讯PDD等大厂安卓面试真题
{/* 注册路由 */}在React中靠路由链接实现切换组件–编写路由链接{/* 在React中靠路由链接实现切换组件–编写路由链接 */}AboutHome整体页面 App.jsimport React, { Component } from ‘react’import {Link,Route} from ‘react-router-dom’import Home from ‘./components/Home’import About from ‘./components
2022-02-17 23:01:01
224
原创 React Native Android 从学车到补胎和成功发车经历,kotlin静态方法
| ±-- com.facebook.fresco:fbcore:0.11.0| — com.facebook.fresco:imagepipeline-base:0.11.0| ±-- com.android.support:support-v4:23.2.1| | — LOCAL: internal_impl-23.2.1.jar| — com.facebook.fresco:fb
2022-02-17 22:59:36
1343
原创 RandomDragLayout,一线互联网大厂面试真题系统收录
APIs:| Method | Description || — | — || boolean reset() | 重置状态 (重新初始化) || setChildRefreshPeriod(long period) | 设置子 View 的重绘间隔时长 默认:0 (不重绘)一般是内容会不断更新的 View 才需要设置此参数,静态的 View 无需设置 || setAlphaAnimationDuration(long duration) | 设置透明渐变动画时长 默认:
2022-02-17 22:58:11
107
原创 Qemu架构解析(二),字节跳动高工面试
| cpu_exec | {/cpu-exec.c} | 主要的执行循环 || struct TranslationBlock | {/exec-all.h} | TB(二进制翻译代码块) 结构体 || cpu_gen_code | {translate-all.c} | 初始化真正代码生成 || tcg_gen_code | {/tcg/tcg.c} | tcg 代码翻译成 host 代码 |知道了这个总体的代码结构,再去具体了解每一个模块可能会相对容易一点。Qemu 的使用#1. 源码下载
2022-02-17 22:56:46
433
原创 PhoneGap插件编写,移动端h5开发框架
** DirectoryListing.list("/sdcard",* successCallback* failureCallback);** }* </pre>** @author Rohit ..
2022-02-17 22:55:21
138
原创 Okhttp面试简答,Android开发自学教程
1、支持SPDY、HTTP2.02、无缝支持GZIP来减少数据流量3、支持同步、异步(异步使用较多)4、缓存响应数据来减少重复的网络请求5、可以从很多常用的连接问题中自动恢复1.2、Okhttp的核心类有哪些?简单讲一下Dispatcher类:Interceptor类:1.3、OkHttp方面的其他面试题1、如何使用OkHttp进行异步网络请求,并根据请求结果刷新UI2、可否介绍一下OkHttp的整个异步请求流程3、OkHttp对于网络请求都有哪些优化,如何实现的4、OkHttp
2022-02-17 22:52:30
1516
原创 【Android Jetpack高手日志】DataBinding 从入门到精通
/></androidx.constraintlayout.widget.ConstraintLayout>这个文件其实就是移除了<layout>、<data>标签的布局文件,里面的 tag 就是我们上面对应<Target>标签中的tag,Expression attribute="android:text" text="userInfo.age" <Expression>中的具体属性对应具体的值。初始化再来从val activity
2022-02-16 18:33:39
257
原创 【Android Jetpack】Lifecycle 从入门到精通,想学IT的必看
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)fun disconnectListener() {…}}myLifecycleOwner.getLifecycle().addObserver(MyObserver())复制代码LifecycleOwner 是单一方法接口,表示类具有 Lifecycle。它具有一种方法(即 getLifecycle(),该方法必须由类实现。此接口从各个类(如 Fragment 和 AppCompatActivity)抽象化
2022-02-16 18:32:14
258
原创 ”去他丫的北上广,老子要去成都定居了,Android-Binder机制及AIDL使用
老叶每天早早就到了公司,作为新人,要表现积极,态度认真。07年时,老叶还主要是做Web开发,主要是网站,网页相关。这时候还是PC互联网时代,很多应用主要都是在PC上用的较多。网站是流量大户,老板有时让他也搞一搞SEO,提升下网站的排名,他说他没弄过SEO,问了公司里一个师傅,师傅说,让他在网站源码中,加入大量的和网站功能和内容有关的关键字,或者一些乱七八糟的文章,把里面的人名换成关键字,这样好让搜索引擎的蜘蛛爬到,虽然如今看起来非常low,但是在当时还是非常有不错的效果的。后面老板也对他工作肯定,也涨了薪水
2022-02-16 18:29:24
1454
原创 “你们程序员不就是修电脑的吗,你牛什么牛,android视频开发的面试问题
总的来说,一名工程师都会经历上面的三个阶段,我们不能去扭转什么,我们唯一能做的,通过学习缩短这个周期,让每个阶段提前,这样才可以让自己有更多的精力和时间投入到技术当中去。最后的最后,给大家在做些分享,希望能帮助到正在处于第二、三阶段的朋友们。我自己之前在技术瓶颈阶段,报名过享学课堂的课程,让我在短时间来成功跳槽阿里P7。再征得官方的同意下,给大家个福利,也算是给他们做个宣传,分享一些他们内部的进阶学习路线及文档学习资料给大家!架构师筑基必备技能目前Android APP开发主流语言就是Java语言
2022-02-16 18:27:59
190
原创 “你们Android的程序员不就是敲点代码吗,凭啥工资这么高
程序员的工资的确很高===================================================================根据程序员客栈所发布的《中国程序员生存状况报告》来看,年薪5w以下的程序员仅占6.2%,且年龄都在25岁以下,工作年限只有1-2年;大多数程序员年薪在9-30w,平均月薪达到10k以上,这相比于其他行业已算是高薪;年薪40万以上平均年龄为36岁。而调查机构极光调研在给出的《中国程序员研究报告》中可以看到,在北上深,将近一半程序员的税前月收入处于1
2022-02-16 18:26:34
200
原创 _Kotlin_系列_ 三、Kotlin协程(上),阿里内部Android笔记火爆IT圈
上面这段简短的代码就是开启了一个协程,很简单吧,一行代码就实现了,协程也不过如此啊????。实际下面这段代码背后包含着成吨的知识点:1、协程作用域2、协程作用域的扩展函数3、协程上下文4、协程启动模式可能大家会有点疑惑,区区一行代码,怎么可能会涉及这么多东西?不信我们在点击 launch 函数看下它的源码:// launch 函数源码public fun CoroutineScope.launch(context: CoroutineContext = EmptyCoroutineConte
2022-02-16 18:25:09
1992
原创 _Flutter图表库fl_chart的使用解析(一)-介绍,并发编程挑战
柱状图饼图散列图雷达图。。。使用添加依赖在项目根目录的 pubspec.yaml 里添加:dependencies:fl_chart: ^0.35.0下载在控制台输入:flutter packages get面试复习笔记:这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。节省大家在网上.
2022-02-16 18:23:44
1351
原创 XML的解析DOM,基于android的天气预报app开发
properties.setProperty(OutputKeys.OMIT_XML_DECLARATION, “yes”);TransformerFactory transformerFactory = TransformerFactory.newInstance();Transformer transformer = transformerFactory.newTransformer();transformer...
2022-02-16 18:20:54
244
原创 webRTC(六),面试高频题目
logger.debug(‘the number of user in room is:’+users)//处理一对一通信if (users<USERCOUNT) {//给本人回信息socket.emit(‘joined’,room,socket.id);if(users>1){socket.to(room).emit(‘otherjoin’,room,socket.id);}}else{socket.leave(room);socket.emit(‘full’,room,s
2022-02-15 18:32:29
1745
原创 享卡APP的UI设计和产品构架 ,一文详解
底部导航栏在底部设计底部四大图标分别对应四个界面,点击每个图标跳转到相应的界面,分别是分享卡券界面,卡窝界面,聊天界面和我的界面。首页界面实现效果图![ 这里写图片描述] (https://img-blog.youkuaiyun.com/20180628152200169?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhaXppeG0=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70 ) 卡券发布
2022-02-05 16:16:14
223
原创 事件分发三连问:事件是如何从屏幕点击最终到达-Activity-的?CANCEL-事件什么时候会触发
void InputDispatcher::dispatchOnceInnerLocked(nsecs_t* nextWakeupTime) {// 从队列中取出一个事件mPendingEvent = mInboundQueue.dequeueAtHead();// 根据不同的事件类型,进行不同的操作switch (mPendingEvent->type) {case EventEntry::TYPE_CONFIGURATION_CHANGED: {// …case EventEntry
2022-02-05 16:10:34
403
原创 一文搞懂Android-JetPack组件原理之Lifecycle、LiveData、ViewModel与源码分析技巧
2. 手动postValue或setValue触发数据通知接下来,便以这两个任务链的顺序,对每个方法进行分析。observer()注册监听者@MainThreadpublic void observe(@NonNull LifecycleOwner owner, @NonNull Observer<? super T> observer) {assertMainThread(“observe”);if (owner.getLifecycle().getCurrentState() =
2022-02-04 16:58:39
2042
原创 一文带你做一个震动APP,7年老Android一次操蛋的面试经历
接上手机,开启 USB 调试模式。一般 “开发人员选项” 这页,是通过多次点击系统版本号激活的,感觉有点像游戏秘籍啊,这技巧还是以前刷机积累下来的经验。打开了USB调试模式并连接上手机后,Android Studio 就多出来一个运行目标了。我先点个运行试试,通过手机上各种允许操作,我的App装上去了,虽然还是空白,图标也不太好看,但起码能运行了起来。接下来开始硬撸代码,先在页面上,把那个 Hello World 换成我的 Switch,暂且就叫 switchButton 吧,把文本去掉,弄上跟
2022-02-04 16:57:13
3517
原创 一文学会Semaphore(信号量),oppoAndroid面试
例子Semaphore的使用也非常简单,上面的列子,一个简单程序为public static void main(String[] args) {// 假设餐厅有20张椅子Semaphore semaphore = new Semaphore(20 , true);Random random = new Random();// 10是假设单位时间的单子量for (int i=0; i<10; i++){Thread t = new Thread(){@Overridepublic
2022-02-04 16:55:49
117
原创 一年半Android工作经验剑指杭州:我是如何拿下头条、阿里和滴滴 offer 的
BroadcastReceiver的不同类型,普通广播,系统广播、有序广播、粘性广播、应用类广播Fragment相关Fragment生命周期Fragment的懒加载Fragment之间的通信FragmentPagerAdapter与FragmentStatePagerAdapter的区别为什么不建议直接通过使用new Fragment的方式传入数据序列化相关序列化与反序列化的定义及区别Serializable中serialVersionUID及trans.
2022-02-04 16:54:23
1838
原创 内存优化(三),薪资翻倍
private float westXStart = 250;private float westYStart = 300;private float westXEnd = 150;private float westYEnd = 300;String colorStr[] = new String[]{“#ffff00”,“#ff3300”,“#ccff00”,“#ff00cc”,“#ccffff”,“#cc99ff”,“#99ff66”,“#993300”};private
2022-02-03 20:24:31
114
原创 关于andriod的Adapter理解,Android开发热门前沿知识
mInflater = LayoutInflater.from(context);mResource = mDropDownResource = resource;mObjects = objects;mObjectsFromResources = objsFromResources;mFieldId = textViewResourceId;}}BaseAdapte一般来讲使用BaseAdapte 都要自定义Adapate,因为该类的使用,需要实现把数据源确定,这样才能在匹配数据时,按照
2022-02-03 20:21:41
162
原创 做了五年Android开发,有些话想对大家说…,vue数据双向绑定
可以说在大公司的这些日子里,让我学习和领悟到了很多非技术方面的能力:语言表达能力(大公司经常需要在很多人面前发言).与不同人沟通的能力.复杂问题的定位和解决能力.团队协作能力.帮助(指导)他人的能力.团队建设和管理的能力.这也是为什么写了那么多经验感悟文章的原因.而上面的这些能力,很多是仅仅靠撸码是无法获取到的.心态上发生变化=====================================================================
2022-02-03 20:18:51
4016
5
原创 做了5年Android,靠着这份190页的面试资料,成功入职腾讯
说下 Activity的四种启动模式、应用场景 ?了解哪些Activity常用的标记位Flags?说下 Activity跟window,view之间的关系?横竖屏切换的Activity生命周期变化?如何启动其他应用的Activity?Activity的启动过程?(重点)Fragment基础相关谈一谈Fragment的生命周期 ?与Activity生命周期的不同 ?谈谈Activity和Fragment的区别?Fragment中add与replace的区别(Fragment重叠) getF
2022-02-03 20:17:26
860
原创 做Android开发怎么才能不被淘汰?,为什么说Flutter让移动开发变得更好
Android学习之路任重而道远,我们也都在奋斗的路上。下面是我整理的最新的学习资料,希望能帮到想在Android这条路上一路走到黑的朋友。1.Jetpack架构组件从入门到精通Android Jetpack - NavigationAndroid Jetpack - Data BindingAndroid Jetpack - ViewModel & LiveDataAndroid Jetpack - RoomAndroid Jetpack - PagingAn
2022-02-03 20:16:01
189
原创 使用FireBase机器学习套件的新功能autoML搭建训练发布模型,并在Android上使用进行图片分类
// …}}在Gradle 文件(通常是 app/build.gradle)中,在文件末尾添加一行内容。apply plugin: ‘com.android.application’android {// …}// 添加以下内容:apply plugin: ‘com.google.gms.google-services’ // Google Play services Gradle plugin第四步:将 Firebase SDK 添加到APP在(应用级)Gradle 文件(通常
2022-02-03 20:14:36
1124
原创 使用ActivityGroup来切换Activity和Layout,android入门开发与实战
–> <? xml version="1.0" encoding="utf-8" ?>< LinearLayout xmlns:android =“http://schemas.android.com/apk/res/android”android:layout_width =“fill_parent” android:orientation =“vertical”android:layout_height =“fill_parent” >< LinearLayo
2022-02-03 20:13:11
454
原创 做Android开发的,要做到什么水平,才能年薪百万,android共享元素动画原理
背景:某手机厂商高级系统工程师学历:本科工作年限:9年B一毕业在高通公司(芯片厂商),后来跳槽去的某手机厂商,做手机系统开发,手机厂商一般相比低调,闷声发财,公司盈利的收入要么投入基础研发,要么发一波年终分给员工。也不去上市,每年员工可以通过年终购买公司内部股票,同时可以进行年终分红。这样一来,大家奋斗的所得,都是用于自给自消。一个健康的手机公司,内部现金流是非常充裕的。和互联网公司相比来说,手机厂商,偏制造业,很多时候是做实业,泡沫没有互联网公司那么大。所以一般员工离职也相对低,一个是出去,外面的
2022-02-02 18:56:39
584
原创 使用更为安全的方式收集 Android UI 数据流,移动app定制开发
}}lifecycleScope.launchWhenStarted 挂起了协程的执行。虽然新的位置信息没有被处理,但 callbackFlow 生产者仍然会持续发送位置信息。使用 lifecycleScope.launch 或 launchIn API 会更加危险,因为视图会持续消费位置信息,即使处于后台也不会停止!这种情况可能会导致您的应用崩溃。为了解决这些 API 所带来的问题,您需要在视图转入后台时手动取消收集操作,以取消 callbackFlow 并避免位置提供者持续发送项目并浪费资源。举例
2022-02-02 18:55:14
874
原创 你们觉得作为一名程序员最大的悲哀是什么?,android基础开发入门
在这个网络发展快速的时代,我想问为什么你选择做程序员?有人说因为不善交际,也有人说最火的行业互联网,最好的职业程序员。确实在这个繁荣的行业,只要你自己不下船技术不水,就可以衣食无忧,努力努力说不定还能加薪升职,成为别人眼中的佼佼者,没多少行业如同程序员起薪高,也没有多少行业如同程序员涨薪快,没多少行业和程序员这个行业一样处处聚集高智力人群,身边都是工作上脑子转的飞快的人群。职场不讲政治只讲方案,对一些不善交际的人来说确实是一种轻松的活法。为别人做事,那一份稳定的工资,对很多人来说不是很难接受的事情,怕就怕
2022-02-02 18:53:50
118
原创 你们关心的租房的那些事,阿里P7亲自讲解
前几天发了个朋友圈,原文是『找了一天的房子,广州的房租跟深圳房租相比,广州根本就是城中村』,吐槽了一下深圳的高房租。租房是很多在大城市打拼的年轻人必须要面临的问题,我也是年轻人,所以我懂你们,分享一些我认为有用的租房经验给到大家,相信你们一定会产生共鸣。北上广深租房情况========北京跟上海我没有去过,没啥可以发言的地方,但从一些朋友了解到的情况,这两个国内的最繁华的一线城市,房租自然是贵得离谱了,想租得稍微好一点,只能用钱来凑,很多刚出来工作的童鞋工资一半以上都交房租去了,住得环境还是很差的.
2022-02-02 18:52:25
186
原创 你不会以为Android Toast就只是简单的吐司吧?,移动端跨平台开发
先看看上面用到的asInterface方法:public static top.greendami.aidl.IMyTest asInterface(android.os.IBinder obj) {if ((obj == null)) {return null;}android.os.IInterface iin = obj.queryLocalInterface(DESCRIPTOR);if (((iin != null) && (iin instanceof top.gre
2022-02-02 18:51:00
277
原创 作为程序员的我们应该如何在当今国内的信息产业生存?,android开发者周报
说明了原因,再来看另一个问题,写代码的都知道有 “一致性” 的概念,大了说有架构一致性,小了说有代码风格一致性,看前人的代码看着头疼就是因为你和写代码的人设计,代码风格都不一致,所以会有冲突。那么对于我们从小学到大学的整个教育过程这个大项目来说,其实存在巨大的不一致性,举个例子,你的小学老师教了你们六年,对学生的能力,特点是最熟悉的,可是升入初中之后,换了初中老师,这个过程中唯一留下能让初中老师用的 “交接文档” 就是以前的分数,这样的情况下,因材施教,因地制宜,从何而来?非要一对一的提高成绩的话,那么之
2022-02-02 18:49:35
103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人