自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 Android大厂面试题回忆录

Android相关的1、ui还原度(怎么确认你做的效果和ui的切图、尺寸标注是一样的,怎么快速对比?谁去确认这个事,是开发、测试还是设计?)2、启动速度优化做了哪些,优化的效果是怎么样?应用启动时长怎么统计?系统耗时部分怎么统计?从点击launcher的应用图标到application.attachBaseContext这段时间的时长怎么统计?如果发现某个系统库加载特别慢,如何优化?闪屏页或是首页统计到哪个点比较好,用户是可见可操作的?自己看到的一些黑科技:1)提高cpu锁频,对system/cpu

2021-03-26 21:46:26 2581 6

原创 Android开发---hr或是部门主管软问题的回答总结

1、为什么选择进小厂,而不选择大厂?当时也拿到一些大厂的offer,但XX给的薪水和title最高,也有其他公司给股票的,我个人觉得更高的薪水,自己能负责的事就会越重要,越被公司重视,所以基于这个原因,我当时选择了XX。2、你觉得你在XX得到了哪些成长?这个其实有很多1)首先:个人的精力得到了挑战,以前公司下班时间到了,大家都撤了,现在公司晚上9、10点大家才撤,适应了互联网快生活的节奏。2)其次:自己的技术栈更深更广了,以前公司用户体积不大,应用发版时间长,对性能要求也不高,现在的公司

2021-02-21 19:56:14 487

原创 面试问题答题总结

1、apk瘦身你做了哪些?2、应用启动速度优化你做了哪些?3、网络优化你做了哪些?4、数据库优化?5、应用稳定性优化你做了哪些?6、应用卡顿优化你做了哪些?7、应用内存优化你做了哪些?8、有遇到什么棘手问题么?...

2021-02-18 11:26:09 596 2

原创 RecyclerView中涉及的设计模式

从设计模式的角度分析RecyclerView,暂时分析到用到了适配器、观察者、策略、享元、桥接、工厂、装饰者模式,具体实现如下:

2020-03-09 17:20:36 1055 1

原创 面试官之初体验

找工作难,招人也难,现在的新东家,基本处于稳步向前发展阶段,想扩充队伍,需要大量人员:服务器、测试、Android、iOS、大数据、运营等等。我负责Android这块的,主要面向中高级,应届生或是在校生(实习)也招,只要基础好,觉得可培养。在我看来,招人要求跟大厂应该差不多,要求基础好,会分笔试和面试两部分,笔试至少得及格,再根据简历确定是否需要面试,如果是高工有三轮技术面,如果中...

2019-07-25 10:24:49 1428 6

原创 6月随感 ----招android开发(跳槽的看过来)

6月还没有一篇博文出炉,感觉心有点慌,以前立下flag,每个月至少要有两篇文章出炉,也算督促自己不断学习,不断进步。最近技术上好像没有很大的心得,就说说自己的近况吧。近况自上次找工作风波后,自己手头有几个offer,最后向钱看齐了(毕竟还是凡夫俗子)选择了工资给的高的公司入职了。自己的心理预期价位,人给到了,也没有玩虚的,用股票或是期权来充数。不要骂我目光短浅,个人觉得出的起高薪的公司,至...

2019-06-29 17:13:44 662 2

原创 Dialog区域外可响应点击事件

遇到这样一个需求,一个RecyclerView布局(GridView九宫格样式),每点击一项,弹出一个气泡提示框,再点击下一项的时候,上一项气泡提示框消失,下一项气泡提示框显示出来。用Dialog实现提示框显示,一般需要点击两次item才能实现上面的效果,第一次是Dialog响应点击事件,消失提示框;第二次点击才Item能接收到。要实现上面的效果,必须让Activity能接收Dialog区域外...

2019-05-28 17:44:25 7348 6

原创 android组件化方案对比

现在公司准备项目组件化,前公司项目其实用了组件化,但功能比较少,比较好拆,现在公司项目比较庞大,功能繁杂,参与人员多,感觉非常不大好拆,拆的时候还涉及到功能、代码重构。老大对技术比较看重,还要求大家在重构项目前看完三本书(重构、Effective Java、23种设计模式),这三本书确实也不错的。近期一直在研究项目组件化,看了业界不少组件化方案,这是下面对组件化方案的一些对比,后面还会不...

2019-05-14 09:50:57 1599

原创 面试好处多,有机会还是多出去面面吧(技术岗)

自己在3、4月份参加大大小小的面试估计也有几十场,有几万人的大互联网,也有几百人、几十人的小公司,收获还是挺多的,不仅激励自己学习,更新自己,也知道了自己很多不足之处。面试差不多是一个:学习--检验--再学习、总结--再检验(再学习、总结--再检验)--最终拿到满意offer(选择offer)的过程。如果有时间、有机会还是可以多出去面面,即使有时候需要请假,还是值得的。这一天就算自己给自己发工资、...

2019-05-12 08:37:35 1267 2

原创 当面试官问你有什么想问的应该问些什么(技术开发类)

找了大概一个多月的工作了,手头现在有满意的offer了,可以开始总结自己面试过程中遇到的一些问题及自己是怎么回答的,给即将要面试或是将来要面试的同学们一些参考吧。这篇主要说说在面试官面完自己后,自己有什么要问面试官的,这个一般跟最终面试结果关系不大,但是也可以稍微准备下,不至于到时现场想,或者直接说没有什么问题。要不面试官觉得你对此岗位或是他们公司一点兴趣都没有。 下面分别就一面...

2019-04-23 11:30:20 15774 5

原创 别再傻傻得认为AsyncTask只可以在主线程中创建实例和调用execute方法

*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布大家都知道在Android中可以AsyncTask来进行异步请求,AsyncTask其实就是把Thread进行了封装,内部实现原理是Thread+Handler,使得线程简单易用。我们在查看AsyncTask源码的时候,会看到它的构造方法上边有这样的提示“Creates a new asynchronous task. T...

2019-04-12 11:41:55 2360 2

原创 作为码农的我嫁了个程序员老公(结婚、生娃、婆媳、未来)

毕业后工作、谈恋爱、结婚、买房、怀孕、生娃、养娃、再工作,好像是大部分女人按部就班的步骤,我也不例外,只是作为码农的我,找了个程序员老公,两个码农组成了一个家庭。现在看来,好像也没有什么不好,两人还能一起聊聊技术,没事的时候相互请教对方一些问题,一起共同成长。

2019-04-09 16:29:30 20191 119

原创 android性能优化的方方面面

1、电量优化Battery Historian工具查看关于移动蜂窝模块的电量消耗 有针对性的把请求行为捆绑延迟到某个时刻统一发起请求 把请求任务延迟到手机网络切换到WIFI、充电状态下再执行,用JobScheduler实现,给任务设置延迟间隔,执行条件,增加重试机制 对数据Prefetch(预取)、压缩(compress),预取需要预先判断用户在此次操作后,后续零散请求可能会...

2019-03-24 10:48:16 519

原创 android中能不能new Activity()对象引发的思考

前几天去某公司面试,被面试官问到能不能直接new一个Activity实例,从来没有这么用过,当时第一反应是不能吧,想着如果Android中直接new Activity()实例,那不是乱套了么,系统就管理不到Activity了啊。面试官又问Android中怎么创建Activity对象的呢,当时傻里吧唧的回答反射。真是too young too naive。其实说白了Activity也只是一个普通...

2019-03-22 10:58:27 6994 3

原创 找出数组中每个数右边第一个比它大的元素--时间复杂度o(n)单调栈解法

题目:给定一个整型数组,数组元素随机无序的,要求打印出所有元素右边第一个大于该元素的值。如数组A=[1,5,3,6,4,8,9,10] 输出[5, 6, 6, 8, 8, 9, 10, -1]如数组A=[8, 2, 5, 4, 3, 9, 7, 2, 5] 输出[9, 5, 9, 9, 9, -1, -1, 5, -1]1、暴力遍历我们很容易想到复杂度为O(n^2)的解法,遍历数组...

2019-03-22 09:43:38 16948 3

原创 资本寒冬下一个有娃女码农--应聘高级Android工程师历程感言

现在的市场环境确实不大好,裁员与及在预谋裁员的公司一大把,当然招人的公司也有。楼主这几天去面试了几家公司,目的有以下几点:1、跟现在老东家签约的合同快到期了,想出来看看新机会,有好机会就考虑挪挪窝了;2、现在外面的市场是个什么样子,求职的人和招聘的人比例;3、市场对于一个高级/资深开发工程师的要求是什么样子(毕竟纸上得来终觉浅,觉知此事须躬行);4、年龄到底是不是个坎。获取面试...

2019-03-15 11:24:56 4049 46

原创 RecyclerView性能优化及高级使用

最近研究应用流畅度专题时,发现RecyclerView里边的坑真多,有很多可以优化的点,在理解优化点之前,最好对RecyclerView的缓存机制有一些了解,比如得知道CacheView和RecycledViewPool的区别和联系,RecyclerView的绘制流程有一定了解,再来谈RecyclerView的性能提升。缓存机制可以看看这篇文章:基于滑动场景解析RecyclerView的回收复用机...

2019-03-13 13:49:55 37538 10

原创 2019年为android开发准备的面试题(含答案)

2018年算是互联网的寒冬,一大波公司宣扬裁员,也确实裁掉一部分,有的拿到了高额的补偿,可以慢慢拿着工资、喝着小酒、找着工作,甚至找个一年半载也不是问题。虽然自己公司还没扬言裁员,且自己还茫目自信,再怎么裁也不会裁到我这等优秀员工身上啊。但寒冬归寒冬,饭还是要吃、酒还是要喝,做技术的不管需不需要面试,也要时不时抽空更新下自己,让自己涨涨知识,一些基本知识点重新拾起,也为自己不久的将来面试做准备吧。...

2019-02-13 08:54:22 6979 4

原创 Retrofit框架源码解读

之前对Retrofit框架一直怀有敬重之心,别人能把网络请求框封装得如此好用。以前只知道他内部是调用OkHttp进行网络请求的,可它内部是怎么实现的呢?光会用框架那是初级开发者的水平,总不能当一辈子随时可替代的螺丝钉吧,我也要有一点研究源码的心态,要不到时到时被各大面试官鄙视了。为了更有目的的研究源码,先问自己几个问题,如果闭着眼也能答上来,那算熟练掌握了Retrofit框架。Question...

2019-01-20 10:23:29 680

原创 查找最长回文子串--Longest Palindromic Substing(java实现时间复杂度O(n))

LeetCode 5:Longest Palindromic Substing题目:寻找最长回文子串描述:给定一个字符串s,在s中找到最长的回文子中,假设s的最大长度为1000如输入"babad" ,输出"bab"工或是"aba"都算正确结果。输入"cbbd",输入"bb"思路:遍历字符串中的每一个字符m,再查找该字符m前后的字符是否相等,记录前L、后R的位置,R-L-...

2019-01-19 08:03:39 1030

原创 顺时针打印矩阵java实现

要求实现:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字例如:如果输入如下矩阵1           2            3             45           6            7             89           10           11           1213          14           15...

2019-01-11 14:31:39 1398

原创 android多指触屏事件响应(界面包含ScrollView时冲突处理)

项目需求:想在界面上实现双指向左、向右、向上、向下滑屏时触发不同的事件进行响应。项目中遇到的问题:1、Activity中重写onTouchEvent事件触发冲突1)当Activity中不包含ScrollView时,重写onTouchEvent事件,会被触发;2)当Activity中包含ScrollView时,ScrollView会消费掉onTouch事件,把Activity的onT...

2018-11-23 22:34:26 4618 1

原创 Java虚拟机垃圾回收机制问题总结

看完了《深入理解Java虚拟机》一书,对于垃圾回收机制也有一定了解,现在总结下,加深下理解。先说说Java虚拟机的内存模型,知道哪些对象分别存在JVM的哪个区域,垃圾收集器主要负责回收哪块区域:1. Java虚拟机运行时内存模型Java虚拟机的内存区域分成五块,其中三个是线程私有的:程序计数器、Java虚拟机栈、本地方法栈;另两个是线程共享的:Java堆、方法区。线程私有的区域等到线程结束时(栈帧...

2018-07-04 11:02:45 2765

原创 Java虚拟机中对象探秘--对象头创建、对象头、对象锁、synchoronized底层实现

今天看别人的博客,讲到面试相关的问题,其中有一个知识点是:synchronized关键字,Java对象头、Markword概念、synchronized底层实现,monitorenter和monitorexit指令,一脸蒙逼,虽然早期把《深入理解Java虚拟机》这本书看过一遍了,可是发现当时只是走马观花的看,对于这些知识点,还是不知道,今天特意把Java对象这一节再次重新读一遍,加深记忆。对上面这...

2018-05-18 16:26:01 8074 3

原创 Android根据图片Uri获取图片path绝对路径

在Android 编程中经常会用到Uri转化为文件路径,如我们从相册选择图片上传至服务器,一般上传前需要对图片进行压缩,这时候就要用到图片的绝对路径。 下面对我开发中uri转path路径遇到的问题进行总结,其中涉及到Android不同api下对于uri的处理,还有对于Google相册图片该如何获取其图片路径。1. 从相册获取图片我们从相册获取的图片的代码如下:// 激活系统图...

2018-03-30 10:25:33 32374 4

原创 android初次进入,用户引导页(蒙层效果)实现

在一般app中,初次安装使用时,除了有用户引导图外,还经常会看到类似于新手使用手册的使用引导页,类似于activity添加了一层遮罩图。这种效果实现一般是在原activity上覆盖一层view,可以用自定义view来实现,也可以用设计师做好和屏幕匹配的图片后,直接全部覆盖在activity上。因为一般引导图上的文字都会设计得比较活泼好看点,所以项目中这种也比较常见。在github上有个标星很高的...

2018-03-23 16:34:46 9874

原创 友盟集成第三方登录--微信、QQ实现

友盟集成了第三方登录,本给我们带来便利,但是文档只描述了集成方式,出现问题,发现还得自己各种baidu,这里总结自己遇到的一些坑,以防下次再踩。 友盟集成第三方微信登录: 友盟集成方案参考:http://dev.umeng.com/social/android/login-page#1 前期工作:微信账号开通开发者账号权限,在https://open.weixin.qq.com/上创建自己应用

2017-11-02 09:39:14 5795

转载 TCP的三次握手、四次挥手--非常详细讲解

本篇文章转自 TCP的三次握手(建立连接)和四次挥手(关闭连接) 建立连接: 理解:窗口和滑动窗口TCP的流量控制TCP使用窗口机制进行流量控制什么是窗口?连接建立时,各端分配一块缓冲区用来存储接收的数据,并将缓冲区的尺寸发送给另一端接收方发送的确认信息中包含了自己剩余的缓冲区尺寸剩余缓冲区空间的数量叫做窗口2. TCP的流控过程(滑动窗口)TCP(T

2017-10-13 15:43:03 62934 5

原创 Hashmap\LinkedHashMap的实现原理分析

虽然网上已有很多人写关于HashMap源码分析的文章,但看完过一段时间后,又有点模糊了,觉得只有自己真正再将其履一遍,并真正把它能讲清楚,自己才算真正掌握了。在读本文之前如果你对以下几个问题都了如指掌,此文可略过。 1. HashMap的数据结构是什么?hash冲突是指什么? 2. HashMap是怎么解决hash冲突的,链表法是如何实现的? 3. 为什么HashMap的容量必须是2的指数幂?

2017-10-13 11:04:59 3379 1

原创 android webview cookie保存

虽然说WebView 保存cookie的文章有很多,但查看了很多别人写的博客,都不满足我的要求,当然对我的实现也有一些帮助。为了以后遇到类似问题,不再需要重写搜索,特记录下来,如果正好能帮到你,那更好。我们要实现的效果是整个app全是h5页面,只有一个url入口,首先进入登录页面,要求只要cookie还没过期,每次进入应用都是登录后的页面。而给webview设置cookie,首先要获取到cookie

2017-09-01 22:21:26 4074

原创 android插件化学习

前言之前看过鸿洋写的滴滴插件化方案 VirtualApk 源码解析,看得有点一头雾水的感觉,觉得作者贴了一堆源码在那,讲了讲思想,或许对那些对插件化已经有比较深了解的人,觉得分析得比较透彻。但对于像我这样对插件化不是很了解的人,还是不大好理解。于是自己又在网上搜了别人写的分析VirtualApk的文章,感觉都大体相似,贴一堆源码了事。 为了更好的掌握插件化,在网上找了好多资料查看,觉得weishu

2017-08-30 10:50:08 1227

原创 android日程表实现---仿滴答清单

此项目是仿滴答清单做的一个日程表,现包括的功能有:日视图、三日视图、周视图、月视图、列表视图(周月可自由切换,左右滑动切换周或月份)。1、 网络请求功能完善; 2、 同步手机的日程表; 3、 可以增加日历事件,并可选择是否同步到手机本身日程表; 4、 可设置提醒事件功能; 5、 日历事件保存到数据库; 6、 同步google邮件账号或是其他黄历事件; 7、 事件功能分类展示;

2017-07-26 17:16:07 17788 4

原创 Effective Java--序列化--你以为只要实现Serializable接口就行了吗

前言相信大家对于序列化都有一些了解,实现也很简单,只需要实现Serializable接口,将类加上序列化的标记,编译器就会自动给我们类对象添加序列化和反序列化实现,这样我们就可以happy的进行数据持久化,保存到磁盘上或是通过网络传输。真的这么简单的,你想过以下问题么?子类和父类序列化,父类不序列化,子类序列化,父类变量是否会被序列化,应该怎么实现父类的变量也能序列化?自定义序列化怎么实现?wr

2017-07-18 17:53:40 7594 6

原创 个推clientId老是获取不到几点解决办法

用第三方推送,好的一点是省事,不用自己研究推送原理,只要把自己的apk放到第三方平台注册下就好了;不好的一点是有时会发生丢包,毕竟是免费产品,有时出了问题,不知道原因,网上搜有时也搜不到。可能因各种环境不一样吧,第三方虽然提供了demo,但是有时即使把demo代码直接copy进来,发现在自己工程中就不好使了,不知道大家没有遇到这样的问题。反正我是遇到了,比如今天想吐槽的个推clientId获取不到问

2017-07-14 16:19:16 14201 2

原创 系统集成项目管理工程师中高级一次通过经验之谈

其实距离自己通过考试已有近两年时间了,我是2015年上半年通过的中级考试,2015年下半年通过的高级考试,为什么过了两年还来谈自己的考试经验呢,这些经验会不会过时呢?其实根据往年考题形式,至今出题形式没有什么变化,每科通过分数还是45(总分75分),这些经验还是有一些值得借鉴的地方,希望此文能对一些即将要参加系统集成项目管理工程师考试的考员或是想报名参加此项考试的人有一些帮助。1. 先来说下我参加此

2017-07-14 10:18:08 36429 10

转载 面试题:java GC发生在会么时候,对什么东西,做了什么事情

xmlns="http://www.w3.org/1999/xhtml">      rel="canonical" href="http://blog.csdn.net/cy609329119/article/details/51771953"/> http-equiv="Cache-Control"

2017-07-13 15:15:58 2310

原创 android别人的面试题汇总(不断更新中....)

此篇博文是总结别人的面试题,一般讲面经的人都只是有题目,或是总结的也不是很全,想着自己把别人面试中遇到的问题进行总结,算给自己日后找工作做好准备。以后会不断更新,争取来年跳槽找个好工作。1. Android一些优化方案一般APP可能存在以下问题:启动慢、页面跳转慢、事件响应慢、滑动和动画卡顿、展现内容慢等 Android性能优化可以从几下几方面进行:1.1 布局优化1) 利用Hierarchy

2017-06-30 17:16:42 2114

原创 android lambda的使用总结及运行原理

好像是从Android studio2.0版本发布后,可以使用Java 8进行开发,对于开发者来说一个重大的更新,我们可以happy的在代码中使用Lambda了。这可以大大减少代码的编写,只关注最重要的部分。虽然使代码的可读性变差,但用习惯了就会喜欢上Lambda表达式,它使代码变得干净整洁了不是一点半点。既然大家都用上了lambda表达式,为什么我还要写这篇文章呢,咱们开发人员当然不能老是拿来主义

2017-06-29 17:48:50 5243

原创 android标题栏、状态栏图标文字颜色及背景动态变化

android中沉浸式状态栏的文章已经满大街了,可是在实现某些效果时,还是得各种搜索,测试一通后,最后还常常满足不了要求,即使好不容易在一部手机上满足了需求,放在另外一手机上,发现效果差强人意。今天把自己这几天学到的关于沉浸式状态栏知识进行总结下。问题 比如我想实现以下效果: 1. 同一个Activity需要动态变换标题栏和状态栏文字字体色值,该如何实现? 2. 一个Activity包含多个F

2017-06-22 14:22:30 66424 24

原创 android注解与反射、ButterKnife实现

之前面试被问到注解相关知识,无奈当时真是too young too simple,只知道注解的实现用到了反射,多问一句都心虚,对于它的定义都说不明白,对于反射也不能说出个所以然来。其实很多优秀的第三方框架都用到了注解,像Retrofit, ButterKnife, Dagger等,只是平时都是用别人造的轮子进行开发,自己并没有过多的了解,但是现在很多大公司,要的不是一个只会调用API的程序员,需要一

2017-05-26 17:26:40 4019 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除