
Android程序员
文章平均质量分 94
塞尔维亚大叔
毕业于上海复旦大学,专注技术多年,产品控、代码控,拥有丰富的项目经验,参与主持研发了多个成功上线的大型互联网项目。
展开
-
Jetpack Compose Banner即拿即用
Jetpack Compose目前没有官方的Banner控件,所以只能自己写,搜了些资料才完成,非常感谢之前分享过这些内容的大佬们。效果图accompanist组库accompanist旨在为Jetpack Compose提供补充功能的组库,里面有非常多很好用的实验性功能,之前用过的加载网络图片的rememberImagePainter就是其中之一,而做Banner的话需要用到的是其中的Pager库。//导入依赖 implementation "com.google.accompanist:a原创 2021-09-13 16:47:52 · 1252 阅读 · 3 评论 -
Jetpack的MVVM通信 - LiveData的原理分析
概述在上一篇文章中,我们介绍了 ViewModel的基本使用及原理分析。因为 ViewModel通常还需要结合组件间通信工具一起使用,所以上次文章也是讲了 ViewModel + LiveData结合使用的场景。这次会结合上篇文章的例子来分析 LiveData的一些原理。上一篇:Jetpack的MVVM实现 - ViewModel的使用及源码分析mp.weixin.qq.com/s?__biz=Mzk0ODAyNjE3Nw==&mid=2247484048&idx=1&sn原创 2021-09-06 21:26:49 · 315 阅读 · 2 评论 -
Android开发者重读设计模式:写个上传解耦库练练手
上周总算是把设计模式之美看完了,一直想写个东西练练手,碰巧最近要重构公司的上传库,所以有了这篇文章。(仅仅是学习练手,有建议可以提,架构大佬轻喷)0x1、杂谈① 为什么要重构上传库?我司APP在上传图片/视频前,需要进行一系列处理,最后才上传,如:图片:判断路径是否存在 → 通过Exif信息判断是否需要旋转 → 判断是否需要压缩 → 获取MD5 → 如果开启秒传查询是否有秒传记录,有直接返回 → 没有才上传 → 上传完成对应状态更新; 视频:判断路径是否存在 → 判断是否需要压缩 → 要压原创 2021-08-27 13:54:13 · 314 阅读 · 1 评论 -
Jetpack Compose 自定义绘制
概述Jetpack Compose 作为一款 UI 框架,自定义绘制部分是必不可少的。通过官方所提供的基础 API, 允许开发者实现各种场景下的绘制定制需求。如果你对 Android 原生 Canvas 已经了如指掌的话,那么迁移至 Jetpack Compose 基本没有任何成本。即使你不曾了解 Android 原生 Canvas 也不要担心,阅读这篇文章你同样也可以掌握如何在 Jetpack Compose 完成自定义绘制。从 Canvas Composable 开始Canvas Compo原创 2021-08-25 20:54:22 · 1417 阅读 · 2 评论 -
Android 模块化开发实践
一、前言随着业务的快速发展,现在的互联网App越来越大,为了提高团队开发效率,模块化开发已经成为主流的开发模式。正好最近完成了vivo官网App业务模块化改造的工作,所以本文就对模块化开发模式进行一次全面的介绍,并总结模块化改造经验,帮助兄弟项目避坑。二、什么是模块化开发首先我们搞清两个概念,Android客户端开发目前有两种模式:单工程开发模式和模块化开发模式。 单工程开发模式:早期业务少、开发人员也少,一个App对应一个代码工程,所有的代码都集中在这一个工程的一个module里。原创 2021-08-25 16:36:10 · 296 阅读 · 3 评论 -
Android 进阶之路:ASM 修改字节码,这样学就对了!
看了很多 ASM 入门的文章,都感觉文章写的很轻松,站立的高度都太高了,我个人觉得想要能够编写 ASM 相关代码,能看懂字节码是必不可少的,所以本文会以字节码为切入点,带大家简单的入门一下 ASM。Java Class 文件结构大家都知道*.java 文件经过 javac 编译之后会生成 *.class 文件,*.class 文件会被 Java 虚拟机进行加载。Java 虚拟机之所有能够加载class 文件,前提肯定是能够按照某种规则读取 class 文件的内容。那么这个规则就是*.clas原创 2021-08-24 14:39:47 · 1065 阅读 · 2 评论 -
Android 内存、I/O、网络、存储的优化实践
一 内存优化1.1 内存模型与分布上图是常见的java虚拟机的内存分布图: 方法区:主要存储虚拟机加载的类信息,常量,静态变量,及时编译器编译后的代码等数据。内存优化时这一部分主要考虑是不是加载了很多不必要的第三方库。这部分的内存减少主要是常量池的回收和类的卸载(类卸载条件:无引用,类加载器可卸载)。 堆:几乎所有的对象都在这个区域产生,该区域属于线程共享的区域,所以写代码时更要注意多线程安全。这个内存区域的大小变化主要是对象的创建和回收,比如:如果短时间内有大量的对象创建和回收原创 2021-08-23 17:10:23 · 746 阅读 · 4 评论 -
RecyclerView 添加分割线,ItemDecoration 的实用技巧
我的理解:ItemDecoration 允许我们给 recyclerview 中的 item 添加专门的绘制和布局;比如分割线、强调和装饰等等。默认 recyclerview 的表现像下面这样其实我想要的是这样如果我们不使用这个的话,那么我们在编写 xml 文件的时候只能添加 layout_margin 这样的值,而且即便这样在有些场景下也是不好用的。其实也没关系我们可以使用代码控制,比如在 onBindViewHolder 中根据数据的位置写对应的逻辑,像我上面那种我需要把最后一个.原创 2021-08-22 20:24:26 · 672 阅读 · 0 评论 -
Android 金九银十面试准备进行曲-数据结构 Map / List
个人能力有限,暂时不整理温习 红黑二叉树 该篇文章主要讲述 HashMap 、ConcurrentHashMap 部分区别(从扩容消耗内存方面 介绍下ArrayMap),在文章末尾会简单的提到 List 部分的面试知识点。 update time 2019年12月09日13:33:531. HashMap这里的HashMap 主要针对 JDK 1.8 版本,JDK1.7 没有引入红黑树概念HashMap 实际上是一个“链表散列”的数据结构,即数组和链表的结合体。它是基于哈希表的 Map 接口.原创 2021-08-20 20:22:45 · 209 阅读 · 0 评论 -
炫酷到爆表的 Navigation 动画
在上一篇中我们说到了使用Navigation导航Fragment,介绍了Navigation的基本使用,然后突然想到做一些Fragment的跳转动画,所以产生了一些内容哈哈哈Navigation中使用动画通常我们设置一个跳转action是酱紫的:<action android:id="@+id/action_scale1" app:destination="@id/fragmentTwo" app:enterAnim="@anim/scale_in_right.原创 2021-08-20 16:16:12 · 579 阅读 · 0 评论 -
Android 组件化代码中心化问题之.api化方案
一、代码中心化问题将一个大型的项目拆分成多个Module或者新开的组件化项目,想要的预期是这些module之间是平级的关系.这样一来就可以使得业务相对集中,每个人都可以专注在一件事上。同时,代码的耦合度也会随之降低,达到高度解耦状态,因为同级的module不存在依赖关系,在编译上就是隔离的,这会让组件间的依赖非常清楚,同时也具有更高的重用性,组件强调复用,模块强调职责划分。 他们没有非常严格的划分。达到可复用要求的模块,那么这个模块就是组件。每个组件的可替代性、热插拔、独立编译都将可行,原创 2021-08-19 15:49:52 · 428 阅读 · 3 评论 -
探讨一下:单Activity+多Fragment模式
自从知道这一招之后我基本不太愿意使用activity了,fragment可以快速创建和管理,可以合理设计页面跳转,设计炫酷的跳转动画,一些操作可以统一进行管理。用Fragment替代Activity以前大部分时候都是将Activity作为页面,Fragment作为页面中的子页面(当时称之为碎片),基本上大部分功能由activity实现,比如老版本的淘宝app就是有上百个activity,当时卡顿的不要不要的。随着技术迭代,我们发现activtiy创建、切换、销毁所消耗的性能远比fragment要大.原创 2021-08-18 15:49:22 · 4792 阅读 · 1 评论 -
Jetpack LiveData 如何安全的观察数据
LiveData 是什么?LiveData是JetPack组件之一,LiveData是一个可观察的数据持有类,可以感知生命周期。 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。(来自Android官方解释)LiveData的介绍和使用不在累述,直接看官方文档,本篇文章旨在讲解Liv.原创 2021-08-17 21:04:17 · 228 阅读 · 1 评论 -
Android 架构 MVC MVP MVVM,这一波你应该了然于心
MVC,MVP和MVVM是软件比较常用的三种软件架构,这三种架构的目的都是分离,避免将过多的逻辑全部堆积在一个类中。在Android中,Activity中既有UI的相关处理逻辑,又有数据获取逻辑,从而导致Activity逻辑复杂不单一难以维护。为了一个应用可以更好的维护和扩展,我们需要很好的区分相关层级,要不然以后将数据获取方式从数据库变为网络获取时,我们需要去修改整个Activity。架构使得View和数据相互独立,我们把应用分成三个不同层级,这样我们就能够单独测试相关层级,使用架构能够把大多数逻原创 2021-08-17 16:31:14 · 504 阅读 · 2 评论 -
火爆2021: Android 开发中必备的代码 Review 清单,你还不知道吗?
前言本文收集了我自己工作以来提交代码前的所有检查点。事实证明,这样能有效提高自己的代码质量和功能的稳定性。所以推荐大家以后每次提交代码前,都可以看下这份 Review 清单哈。此外,可能还有些检查点我并没有发现,欢迎大家踊跃在评论区补充哈~清理操作1.页面退出时,是否完成必要的清理操作是否调用 Handler 的 removeCallbacksAndMessages(null) 来清空 Handler 里的消息;是否取消了还没完成的请求;在页面里注册的监听,是否反注册;假如原创 2021-01-07 15:23:56 · 555 阅读 · 0 评论 -
阿里资深架构师这样说:2021年后,Android程序员不再是吃青春饭的行业
微信上看到一个段子:码农:25岁软件工程师->28岁高级软件工程师->32岁架构师->35岁外卖骑手产品:25岁产品经理->28岁高级产品经理->32岁产品总监->35岁滴滴专车运维:25岁运维工程师->28岁高级运维工程师->32岁运维总监->35岁淘宝店主市场:25岁市场专员->28岁市场经理->32岁市场总监->35岁保险销售运营:25岁运营专员->28岁运营经理->32岁运营总监->原创 2020-12-31 16:32:26 · 558 阅读 · 1 评论 -
野生Android在小公司打杂三年,拿到美团offer,不是意外
我叫罗西,非科班出身,野生Android从业者,在小公司打杂三年后,意外地拿到了美团的offer,成功跳槽到了美团外卖事业部。接下来,正文从这儿开始~这几年我经历了什么3年前,我高中毕业,进了编程培训班,后来自修课程,学的是计算机科学与技术专业,之后顺利拿到了北航的学历证书。培训班毕业出来之后,我来到了杭州。在杭州这个充满电商气息的地方,每个人都对自己的未来充满了希望,《猎场》里的郑秋冬如此,我也一样。虽然我的家庭条件不是很差,但我还是希望通过自己的努力,实现当初的梦想,出任CTO,甚至财务自由原创 2020-12-29 22:31:59 · 416 阅读 · 1 评论 -
用鸿蒙 2.0 beta 版写了一个物联网应用手机APP
来源|https://blog.alpaca.run1.前言其实鸿蒙2.0今年在9月份的时候已经发布,只不过那个时候只能开发手表和电视应用,还不支持手机。那个时候在掘金也写过体验鸿蒙电视应用开发的文章,点击下面即可看到:鸿蒙2.0发布,让我给大家整个活而现在能给手机端开发了,于是去了华为HarmonyOS Developer网站,下载了最新的HUAWEI DevEco Studio:https://developer.harmonyos.com/cn/develop/deveco-stud.转载 2020-12-29 21:09:37 · 652 阅读 · 1 评论 -
10年Android大牛:构建MVVM应用程序只要这几步!真香!
一、概述是一种框架,MVVM是一种模式,两者的概念是不一样的。我的理解DataBinding是一个实现数据和UI绑定的框架,只是一个实现MVVM模式的工具。ViewModel和View可以通过DataBinding来实现单向绑定和双向绑定,这套UI和数据之间的动态监听和动态更新的框架Google已经帮我们做好了。在MVVM模式中ViewModel和View是用绑定关系来实现的,所以有了DataBinding 使我们构建Android MVVM 应用程序成为可能。之前看了很多关于DataBinding原创 2020-12-25 17:20:37 · 484 阅读 · 1 评论 -
Android开发工程师应该如何准备一场技术面试?
前言之前,在不同的时间点和不同的平台,曾经发表过一些关于面试或者职业规划的文章,包括和一些同学线下约见,面对面聊这个话题,会发现不同的阶段有不同的感悟。包括面试方法、考察重点也在变化,但是发现有些东西却是亘古不变的,在此凝聚至文,希望对同行有帮助。另外,其实讨论面试的话题,其益处并非只是“应试”这一点,文中提到的准备面试的过程其实更多是一种学习、总结、提高的方法论。最终是让你真正的抓住方法快速成长到让面试官眼前一亮的水平,而不是教你如何糊弄过关,希望大家对此能有一个清晰的认识,关注我提到的方法,并原创 2020-12-24 22:15:32 · 327 阅读 · 1 评论 -
大厂的Android工程师到底厉害在哪里?
想要成长为高级开发,掌握更多层面的技术,兼顾深度和广度是毋庸置疑的。你肯定认为,我要认真努力的学习技术,丰富自己的技术栈,然后就可以成为一个优秀的高级开发了。但当你真正去学习之后就会发现,技术栈异常庞大,每个技术都很深奥,很难通过自学就深刻领会和掌握,必须结合实践的反馈,才能真正提高自身的技术水平。除了技术之外,身为高级开发工程师,掌握完整的开发流程,清晰不同架构下的开发规范、技术规范以及架构思维,同样非常重要。你站在更高的层面看待开发问题,一定比眼里只有 CRUD 的人,思维更明朗,更活跃。当原创 2020-12-23 22:03:20 · 398 阅读 · 1 评论 -
Android开发中那些无中生有的事
作者:麻锦荣前言相信很多工作几年的Android程序员对Android的API都比较熟,调用起来也毫不含糊,实在不常用的类查一下API文档也能轻松搞定。但是你们有没有遇到过这样的问题,客户或者老板提了一个需求,而Android自己的API是不支持这个功能的?我就遇到过这样的问题,商显设备为了省电节约成本, 会在半夜没人的时候自己关机,到了早上6点又自启,然而Andorid系统从断电到自启是需要底层适配的,再或者就是要同步板子上的RTC时钟(硬件时钟,类似于电脑主板上关机后依然记录时间的一个模块)的.转载 2020-12-23 21:23:35 · 177 阅读 · 0 评论 -
「JetPack」这篇看完,Paging3大概可以入门了
作者:黄林晴本文总结了JetPack中Paging3的相关用法和示例一、Paging是什么想想我们之前的业务中,实现分页加载需要怎么处理?一般我们都是自己封装RecycleView或者使用XRecycleView这种第三方库去做,而Paging 就是Google为我们提供的分页功能的标准库,这样我们就无须自己去基于RecycleView实现分页功能,并且Paging为我们提供了许多可配置选项,使得分页功能更加灵活。而Paging3是Paging库当前的最新版本,仍处于测试版本,相比较于Pa.转载 2020-12-21 21:06:59 · 399 阅读 · 0 评论 -
【Flutter性能】都 2021 年了,你的动画还在用 setState ?
作者:张疯捷特烈1.前置知识对于每个 UI 帧来说,主要依次执行 Animate、Build、Layout、Compositing bits、Paint、Compositing。每当界面发生变化时,都是一帧触发会更新放入结果。如下每两格代表一帧的UI 时间(左)和 Raster 时间(右)。 当左侧很高时,说明你的界面写的有问题。看下面的两个 UI 帧, 可以看出 Build 占了很大部分,就说明 UI 可能存在某些低效率情况。你可以向下看整个 Build 遍历的深度,如果树过深表示可能存.转载 2020-12-18 20:59:30 · 712 阅读 · 2 评论 -
Android底层的进程间同步机制
作者:Android面试官进程间通信的经典实现进程间通信(Inter-process communication,IPC)指运行在不同进程中的若干线程间的数据交换,可发生在一台机器上,也可通过网络跨机器实现。共享内存、管道、UNIX Domain Socket 和 RPC 因高效稳定的优点几乎被应用在所有操作系统中。共享内存共享内存是一种常用的进程间通信机制,不同进程可以直接共享访问同一块内存区域,避免了数据拷贝,速度较快。实现步骤如下:1. 创建内存共享区Linux 通过 shmge.转载 2020-12-16 15:01:37 · 518 阅读 · 0 评论 -
2021工资翻倍指南:Android面经,历时一个半月,斩获3个大厂offer
历时一个半月,斩获3个大厂offer(京东、新浪、滴滴),这里进行下简单的总结,希望能帮助到大家。总体来说,面试一般都是基于你的简历来进行的,一般先考察你的基础,然后考察你知识体系的完备程度,接着会考察你的极限,最后还会考察一些软技能,比如你的学习能力、协作能力、沟通能力、分析解决未知问题的能力、抗压能力等。个人心得凡事预则立,不预则废。准备周期面试之前,最好先系统的复习一下基础知识,然后再复盘下自己的项目经历,把亮点都发掘出来。复习周期个人建议是三个月到半年,时间不宜太久,久了就容易懈怠或者原创 2020-12-12 21:38:52 · 541 阅读 · 0 评论 -
Android程序员:你这辈子输就输在以为靠技术就能生存下来
一、 在一个地方工作8小时就是“穷”1、在中国你千万不要因为 学习 技术就可以换来稳定的生活和高的薪水待遇,你更不要认为那些从事市场开发,跑腿的人,没有前途。不清楚你是不是知道,咱们中国有相当大的一部分软件公司,他们的软件开发团队都小的可怜,甚至只有1-3个人,连一个项目小组都算不上,而这样的团队却要承担一个软件公司所有的软件开发任务。在软件上线和开发的关键阶段需要团队的成员没日没夜的加班,还需要为测试出的BUG和不能按时提交的软件模块功能而心怀忐忑,有的时候如果你不幸加入现场开发的团队你则需要背原创 2020-12-11 22:25:25 · 228 阅读 · 0 评论 -
能否让APP永不崩溃—小光与我的对决
作者:积木zz前言关于拦截异常,想必大家都知道可以通过Thread.setDefaultUncaughtExceptionHandler来拦截App中发生的异常,然后再进行处理。于是,我有了一个不成熟的想法。。。让我的APP永不崩溃既然我们可以拦截崩溃,那我们直接把APP中所有的异常拦截了,不杀死程序。这样一个不会崩溃的APP用户体验不是杠杠的?有人听了摇摇头表示不赞同,这不小光跑来问我了:“老铁,出现崩溃是要你解决它不是掩盖它!!”我拿把扇子扇了几下,有点冷但是故作镇定的说:.转载 2020-12-10 21:57:33 · 252 阅读 · 0 评论 -
Android岗位的天花板究竟在哪?(喝多了鸡汤,今天来碗毒汤)
2020年是我做Android研发的第7年,从大学实习到现在。标准科班出身,非一线城市、非大厂,但也算是上市公司。在别人眼里我工作稳定,经济独立。我所以的感慨,可能都因为今年我30岁了,但并没有活成自己想要的样子。这篇文章希望对那些刚入行或准备入行Android的小伙伴有所帮助,喝多了鸡汤,今天来碗毒汤吧。曾经的我刚工作前几年,我对一切都充满了劲头,还记得入职时应HR要求写下的新人感言,“能做自己喜欢的事,并且因此有一份收入,真的是一件非常值得高兴的事”,当时的我特别满足,2018年,也就是我工原创 2020-12-10 20:47:33 · 511 阅读 · 0 评论 -
Android开发工程师,为什么需要学习H265?
目前市场中使用音视频技术的公司太多了,大到全民观看短视频,小到直播带货,每个国人的用手机的时间也被视频占据着国内的音视频行业可以划分为三类第一类 短视频抖音、快手、微视等短视频平台大量使用音视频技术,主要以视频内容为主,对视频压缩性要求高,尽可能做到视频文件小的同时,保证清晰度高。第二类 直播带货京东、淘宝;斗鱼、虎牙等将直播带入高潮,前者以直播带货为主,后者以直播消费为主,对技术的要求做到:直播秒开、延时性低、在弱网环境下也能保证正常收看直播第三类 即时通讯如手机QQ、微信、迅雷原创 2020-12-08 15:07:35 · 343 阅读 · 0 评论 -
【Android】程序员35岁,已经不是吸人眼球的“噱头”了,而是一个困扰着绝大多数中国程序员的心头痛点
前言最近真的看到好多关于程序员转行、程序员35岁该何去何从的话题,本来我一度认为这是一种贩卖焦虑、吸引热度的行为。但是!后来我发现一旦是这种文章,或者是回答。阅读量、点赞数都很多。这时我开始意识到。程序员35岁,已经不仅仅是拿来吸人眼球的“噱头”了,而是一个,实实在在困扰着绝大多数中国程序员的心头痛点。今天,我就来跟大家聊聊:程序员35岁的职业生涯分水岭,如何优雅的度过或着转型。你以为当上程序员后的生活实际上你的生活一、行业性质使然加班多、工作量大众所周知,程序员可以说是所有职业当中加班原创 2020-12-07 21:28:43 · 265 阅读 · 0 评论 -
2020年底腾讯Android研发岗面试复盘总结
很多打算年初跳槽的,因为疫情的原因放缓了节奏,在家办公,不像平时那么方便去找工作跑面试了。不过凡事都有两面性,给了大家更多的时间去准备,修炼内功,提升技术。投入更多的时间去针对性的复习,能大大增加面试通过的几率,获得心仪的offer。今年底群里有位小伙伴去腾讯旗下的一家子公司面试,拿到的offer是30k还不错。但是各方面福利会差一些所以没去。说是先去稍微低一点的公司试炼一下。然后针对自己的不足方面进行补充,争取上半年可以跳进腾讯。这里分享一下他的面试总结,以及面试题和分析。腾讯面试中的重点原创 2020-12-07 20:47:33 · 199 阅读 · 0 评论 -
Android-面试官:性能优化我就问这些问题!能不能刷到我就看你的造化了
前言如题,这是一篇关于Android面试-性能优化最常问的面试题、面试点的文章。这也是“Android-面试官”系列的第二篇文章。对Java模块比较薄弱的小伙伴可以去看一下我的上一篇文章:好了,废话不多说,直接冲冲冲!前排温馨提示:阅读本文前,请自备豆浆!如果你已经有 2 - 3 年以上Android开发经验还不懂的怎么去优化自己的项目,那就有点说不过去了。无论是日常工作中还是跳槽面试的时候,性能优化都是我们打怪成长为一名优秀的高级开发工程师所必备的技能。下面是我总结了一套通用级别的 And原创 2020-12-06 22:26:57 · 331 阅读 · 0 评论 -
Android硕二面试阿里3面被P8架构师吊打,不甘!复盘狂啃底层技术,拿下阿里P6+offer
前言人人都有大厂梦,对于程序员来说,BAT为首的一线互联网公司肯定是自己的心仪对象,毕竟能到这些大厂工作,不仅薪资高待遇好,而且能力技术都能够得到提升,最关键的是还能够给自己镀上一层金,让人瞻仰。同样的,我自己的个人目标也是阿里,但之前一直在一家小公司,一呆就是好几年,现在通过不断学习和实践,提升了自己很多,也有了信心来阿里挑战。下面,就是我这次面试阿里P6的一些经历和心得。阿里P6岗面试经历这次阿里的面试经历实在太紧张+刺激+尴尬了,面试前还自信满满,面试后被吊打得怀疑人生。整个流程是四面,前原创 2020-12-02 16:22:16 · 344 阅读 · 0 评论 -
切记,不要在你的App启动界面设置SingleTask/SingleInstance
作者:伤心的猪大肠背景最近在做App的启动优化,为了达到快速启动的效果,将我们的App的闪屏页(SplashActivity显示固定图片)移除掉,换成MainActivity的背景(windowBackground),最后再替换成App的主题,给用户快速响应的体验。<style name="AppWelcomeTheme" parent="BaseAppTheme"> <item name="android:windowBackground">@drawab.原创 2020-12-02 15:13:50 · 570 阅读 · 0 评论 -
Android开发者的寒冬:轮回之下,几人破茧,几人沉沦?
作者:刘望舒大家好,我是刘望舒,I’m back!最近分享了一些视频,都属于望舒杂谈,望舒杂谈会分享一些经验,什么都会聊。除了望舒杂谈还有另一个视频分支叫做BATcoder,什么是BATcoder呢?它是Android进阶三部曲的番外篇,会对Android进阶三部曲的内容进行拓展和升级,会以视频的形式分享给大家。至于为啥叫BATcoder,这是因为我希望大家看了我的技术视频能进入自己中意的大厂。这篇是BATcoder的第一个视频,不过这次不会分享技术,而是和大家聊聊Android工程师该何去何从。.原创 2020-12-01 22:39:58 · 377 阅读 · 0 评论 -
5年Android开发过关斩将:二本渣渣5面阿里P6,谁说越努力越贬值?(已获offer)
对于很多没有学历优势的人来说,面试大厂是非常困难的,这对我而言,也是一样,出身于二本,原本以为就三点一线的生活度过一生,直到生活上的变故,才让我有了新的想法和目标,因此我这个二本渣渣也奋斗了起来,竟拿下了阿里P6岗。今天分享这波面经,主要是希望能够激励到同样被学历所困扰的技术人,能够对职业生涯和技术规划有一个参考价值,感谢!以下整理的学习资料均免费分享,自行点击获取一、面试阿里P6难在哪?(面试难点)(1)难在“心态”首先需要克服的第一关,实际上就是自己的心态。因为我是二本出身,base比较低原创 2020-12-01 20:32:31 · 302 阅读 · 1 评论 -
面试阿里三轮凉凉,后4面终拿下字节跳动offer(Android研发)
文字内容太长,请耐心看完,或许对迷茫的你有所帮助,文章重点在后半部分。前言二十岁的年纪,青春张扬,无拘无束,这种状态自然是好事,不过在某种意义上,也并不能太过乐观。实际上,许多二十岁左右的年轻人,容易陷入误区,把无所事事当成自然状态,太过随意的生活容易让我们没有明确的人生目标和真实的人生理想,以至于毕业之后找不到工作,回家啃老,然后还要悻悻地安慰自己“谁的青春不迷茫”?二十岁想要不惑,就要尽早开始规划自己接下来的人生,这样才能提升自己走“狗屎运”的概率。二十岁的人生,怎么才能做到不惑?很多.原创 2020-11-30 22:23:31 · 282 阅读 · 0 评论 -
Android开发要达到阿里P7水平,你想象不到的难,凭什么人家能进大厂?我终于也成为了别人口中的那个人家
写在前面Android开发前几年火爆一时,市场饱和后Android程序员每一名程序员都想进阶,甚至成为架构师,但这期间,需要付出的辛苦和努力远超过我们的想象。就我这几年对所接触的Android工程师调研:97% 的Android开发 技术人都会面临这些困境(可能也是你的困惑)主要困境外包公司/小型团队技术闭塞:如果你长期在小型软件公司或外包公司工作,是很难有机会经历完整且大型项目的开发,整个技术视野会比较窄,导致薪资长期处于停滞不前;重复同样的编码工作:长期重复同样的编码工作,项目对原创 2020-11-29 22:27:41 · 464 阅读 · 1 评论 -
史上大无语事件:搞Android的难道只有我不想加班又想高收入吗?
问题我是普通本科毕业,不是211/985,在天津工作。现在32岁,有5年C++经验,3年算法经验。去年12月份离职,今年5月份入职了一家煤矿设备行业的公司,从事CV方向的开发,语音、NLP都有所接触,工作状态是80%学习20%用开源算法工作。自己觉得对开源框架熟悉不够,自己研发的算法大概有眨眼检测,SVM基于关键点姿态判断等等。我个人对加班非常抵触,虽然周围同事都在加班,但我一点班都没加。但我目前收入工资只有14k,我觉得很低。回答我想了解,在保证不加班的前提下,如何大幅提高收入?我看到这原创 2020-11-26 15:57:23 · 211 阅读 · 0 评论