自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【面经分享】字节抖音Android客户端3+1轮已通过

不少同学对字节的面试有所忌惮,不愿轻易尝试。其实字节尤其是客户端的面试并没有大家想象的那么难,今天分享一篇面经,内容真实,希望帮助大家更好地了解字节客户端面试的出题范围和难度。我是一名本科应届生,学校专业是软件开发。距离毕业之期不到半年,学校也在催促我们早点出校实习,年前通过一名学长内推去了字节跳动的抖音面试。12 月 31 号投的简历,1 月 6 号收到 HR 电话。隔这么长时间还是挺害怕的,以为简历都被筛掉了。下面是我在字节抖音的面经分享,一二面和 HR 面都是凭印象回忆的,可能会漏掉一些问题。

2021-07-19 16:20:18 2095 9

原创 追梦要趁早:双非3年Android混子跳槽字节面经分享(已拿offer)

背景2017年毕业于一所不知名双非本科大学,毕业时就有着一颗想进大厂的心,但又想留在成都,不愿意去北上广,现在其实相当后悔。当年在成都的大厂少之又少,再加上校招时非常努力地玩耍,导致投的几个大厂面试都全部挂掉,也错失了进大厂最好的机会,所以我奉劝大三的同学如果对自己的职业有追求,有进大厂的梦想,在大三的时候一定要好好准备,在校招的时候拿offer。最后我在成都一家本地科技公司做了Android开发,中间也跳过一次槽,也是做Android。但这几年时间里总感觉公司能给的成长太慢,虽然自己也在学习,还是免不

2021-07-09 22:21:52 313 12

原创 一个国企十年全栈工程师之“死“

事件去年年底,公司来了一位工作十余年的工程师,据说是个全栈,应聘的岗位是Android高工。比较巧的是,这位工程师是我上一家公司隔壁部门的同事。我们均来自大厂,但是是国企,二线城市。所以尽管他在前公司工作十余年了,在国企这个环境下,其工资在行业内也不会太高。以我对两家公司工资水准的了解,他跳过来的工资应该是原来的两倍多。所以对于这位老哥来说,这次跳槽得到的工资应该还算满意的。但是,好景不长。。今年过年回来不久之后就被裁了。。所以他从我的前同事变成了现同事,又变成了前前同事。。。起初我还以为是他嫌工资

2021-07-05 21:59:37 346 3

原创 一个40岁的程序员还想跳槽死磕是种什么体验?想转行请趁早!

时光给我留下了什么?不知不觉间虚度了40年光阴,看着父母逐渐的苍老和孩子逐渐长大,看着自己发福的身材,已知道自己在这个陌生的城市里已经扎根,估计是很难再去哪里了。回首故里似乎和童年一样渐渐变得模糊,每次回家总感觉自己已经很难融入其中,看着别人聊天聊地,自己也很难插上嘴,曾经自己所熟知的地方,慢慢变得陌生起来,每一次回去都说熟悉的面孔逐渐减少,而陌生的面孔不断增多。我知道,我老了,随我老去的还有那些儿时的伙伴、旧房子、小河、山坡和我的青春,以及儿时的梦。曾经刚开始接触编程的时候,对这种神奇的技艺非常憧

2021-07-02 16:39:30 421 9

原创 Jetpack Compose实践:完成自定义手势处理

概述Jetpack Compose 为我们提供了许多手势处理 Modifier,对于常见业务需求来说已足够我们使用了,然而如果说我们对手势有定制需求,就需要具备自定义手势处理的能力了。通过使用官方所提供的基础 API 来完成各类手势交互需求,触摸反馈基础 API 类似传统 View 系统的 onTouchEvent()。 当然 Compose 中也支持类似传统 ViewGroup 通过 onInterceptTouchEvent()定制手势事件分发流程。通过对自定义手势处理的学习将帮助大家掌握处理绝大多数

2021-07-01 21:18:07 930

原创 关于Java泛型机制无非就这7个问题

泛型机制是我们开发中的常用技巧,也是面试常见问题不过泛型机制这个知识点也比较繁杂又不成体系,学了容易忘本文从几个问题出发梳理Java泛型机制知识点,如果对你有用,欢迎点赞~本文主要包括以下内容1.我们为什么需要泛型?2.什么是泛型擦除及泛型擦除带来的一些问题,如retrofit怎么获得擦除后的类型,Gson怎么获得擦除后的类型?3.什么是PECS原则本文目录如下1.我们为什么需要泛型?我们为什么需要泛型,即泛型有什么用?首先举两个例子1.1 求和函数实际开发中,经常有数值类型求和的

2021-06-30 20:30:36 236 1

原创 Android开发初期之后怎么提升?怎么才能叫精通?方向在哪?

1. Android开发初期之后怎么提升?首先第一个问题:Android开发初期之后怎么提升?说到这个问题,就不得不先搞清楚 “为什么很多人会一直停留在两三年的水平上,而后一直在重复以往的经验,原地踏步?”我认为最主要的一个原因就是这部分开发者缺乏主观能动性,或者说缺乏能支撑你坚持学习的兴趣。如果你对Android开发没有太大的兴趣,那么还是尽早换方向吧。有了兴趣,然后就是要有一个比较正确的钻研路线,不要这也搞那也抓,最后什么都知道点,但也就只是知道点儿。一个很好的例子就是我们平时在开发过程中都会用

2021-06-29 17:09:40 546 11

原创 Android高级UI:RecyclerView优雅地解决瀑布流的两个神坑

1.前言在RecyclerView上使用StaggeredGridLayoutManager布局管理器很容易实现瀑布流布局。瀑布流布局比线性布局和网格布局美观,手机屏幕空间利用率高,但是实现方式也比它们复杂,而且经常会有一些莫名奇怪的bug会在瀑布流布局上出现,线性和网格则不会。本来将重点介绍瀑布流两个臭名昭著的bug。通过深入探索瀑布流布局的实现原理,分析它们的形成原因,并给出优雅解决它们的解决方案。1.1 bug1:顶部空白、重排序bug复现操作:将瀑布流滑动到底部;点击刷新按钮,调用A

2021-06-28 20:42:28 1627 2

原创 Android组件化与插件化开发项目实战整理分享(含支付宝、360、美团、滴滴等大厂项目实战)

小公司不说,但是在大公司的项目发展到一定程度,就必须进行模块的拆分。模块化是一种指导理念,其核心思想就是分而治之、降低耦合。而在 Android 开发的实践,目前有两种途径来实现,一个是组件化,一个是插件化。关于组件化和插件化的入门学习这里就不做分享了,本次分享主要是给已经对组件化或插件化开发有了一定的基础掌握,需要进一步学习的同学,提供一些大厂项目实战案例。废话不多说,为了方便大家学习记录,已经分别整理成了220页(组件化实战)和167页(插件化实战)的PDF,项目demo地址也都记录在里面。由于篇幅

2021-06-24 17:28:06 785 11

原创 从害怕到真香警告——Android代码混淆大法真是好!

文章较长,有“阅读障碍”的同学可以直接滑至文末有视频学习通道(狗头保命)!一、引言Android代码混淆,老生常谈了,不过大部分Android仔对它的认识可能还处于这样的阶段(比如:写这篇文章前的我):1、日常开发Debug包时不用混淆,正式发布Release包前开启代码混淆;2、混淆好处① → 类、方法、变量名变成短且无意义的名字,提高反编译后代码的阅读成本;3、混淆好处② → 删除无用的类、方法与属性,缩减了APK包的大小;4、混淆好处③ → 对字节码进行优化,移除无用指令,应用运行更.

2021-06-23 16:45:12 667

原创 年过40的前华为工程师,来面P7技术专家,你猜最后通过了吗?

候选人背景性别:男年龄:41学校:西安某985本科+硕士工作经历:华为、数字浙江、其他公司等。应聘岗位:Android开发-P7技术专家面试过程首先候选人自我介绍。候选人05年硕士毕业后进入华为,早年的华为还是以运营商相关的电信软硬件为主要业务。候选人简单说了从事的移动端短信彩信业务开发,java为主要语言。在华为大概6年时间。之后离职去了一家小公司。在这家小公司从事高级开发和一定的架构设计工作。最近的2份工作,介绍了在数字浙江里面的工作,算是架构师或者开发经理角色。最近一份工作由

2021-06-21 17:42:02 569 16

原创 听说5年以上的Android开发月薪都有2W,4年12k的我还要等待奇迹吗?

个人简介学渣一枚,2017年6月某空港学校毕业。从事Android开发已经4年,开发过机顶盒应用,做过手机app,21年年后入职新单位从事车载应用开发。工作经历因为新公司入职不就主要说说前面的工作情况。煎熬&没有太多的成长(第一家公司)处于这个状态并不是因为公司不好,相反是自己表现的不好。在公司时,公司有完善的培训机制(还可以选择其它方向的一些培训,由其它部门的资深开发人员进行授课),入职时有对应的导师进行培训。更加幸福的是每个月老板都会买书给我们看。既然在这么好的一个环境为什么我还是这

2021-06-18 20:21:53 1008 2

原创 Android性能优化高阶:卡顿、ANR、死锁,线上如何监控?

一、前言最近参加了几轮面试,发现很多5-7年工作经验的候选人在性能优化这一块,基本上只能说出传统的分析方式,例如ANR分析,是通过查看/data/anr/ 下的log,分析主线程堆栈、cpu、锁信息等,然而,这种方法有一定的局限性,并不是每次都奏效,很多时候是没有堆栈信息给你分析的,例如有些高版本设备需要root权限才能访问/data/anr/ 目录,或者是线上用户的反馈,只有一张ANR的截图加上一句话描述。假如你的App没有实现ANR监控上报,那么你大概率会把这个问题当成“未复现”处理掉,而没有真正

2021-06-16 17:42:47 2214 14

原创 万字长文教你Android组件化从入门到精通,学不会你来砍我!

从2017年只有几个大厂在做组件化,到今天已经繁花似锦。越来越多的团队,越来越多的项目都做了组件化。大叔相信即使你没有做过组件化项目,但是,对组件化也早就听烂了。但是,组件化开发多少有些技术门槛。有很多大神写过相关文章,通俗易懂的不多。深入浅出的更不多。不才,愿意冒着不要脸的风险一试,通俗易懂、深深浅浅的来聊聊组件化开发,如果对你有一点点启发,请记得回来给大叔点个赞。一、单工程开发 -> 多module分层开发这种分层架构,有什么用呢?分解成多module的项目结构,就是组件化开.

2021-06-15 14:50:27 12735 36

原创 深入源码Android ListView工作原理完全解析(下)

滑动加载更多数据经历了两次 Layout 过程,虽说我们已经可以在 ListView 中看到内容了,然而关于 ListView 最神奇的部分我们却还没有接触到,因为目前 ListView 中只是加载并显示了第一屏的数据而已。比如说我们的 Adapter 当中有 1000 条数据,但是第一屏只显示了 10 条,ListView 中也只有 10 个子 View 而已,那么剩下的 990 是怎样工作并显示到界面上的呢?这就要看一下 ListView 滑动部分的源码了,因为我们是通过手指滑动来显示更多数据的。由

2021-06-11 17:33:15 137 3

原创 大厂的人自带光环,但光环是从哪儿来的呢?

人人都想进大厂,一方面,大厂能够让人有机会得到更大的锻炼,另一方面,大厂出来,未来一片光明。理想与现实大厂的人自带光环,当他们走出大厂的时候,光环还在吗?我先给你讲个小故事:怀揣着改变世界梦想,老张结束了自己十几年的外企工作,和几个老同事一起开启了自己的创业之旅。最初的几个人都是干劲十足,项目也取得了不错的进展,于是,老张决定扩大团队团队规模。不过,令老张意外的是,好不容易有候选人通过了他们按照外企招聘标准进行的面试,人家却拒绝了他。要知道,当年在外企的时候,能通过面试的候选人可都是乐呵呵地就来了

2021-06-10 16:45:22 1239 14

原创 万人收藏!关于Android Handler源码解析,看这一篇就够了!

Handler作用任务调度:即通过 post() 和 send() 等方法来指定某个任务在某个时间执行线程切换:执行耗时的操作,比如网络请求,IO操作等,需要在子线程中运行,不然会阻塞主线程。 而执行完网络请求等耗时操作后通常需要更新UI,如果在子线程中更新UI,那么程序会崩溃。因为Android的UI是线程不安全的。 在Android中使用Rxjava,还要配合RxAndroid来使用,RxAndroid 内部就使用 Handler 来实现线程切换。常见错误常见的子线程中更新UI,复现代码。

2021-06-07 21:22:55 325 3

原创 Android裸辞实录:投出的简历,像极高中偷偷塞在同桌桌子里的那份情书!

曾子曰:“吾日三省吾身:为人谋而不忠乎?与朋友交而不信乎?传不习乎?” —《论语十则》前言故事要从2021年3月25日那天说起,本人正式提出离职,并于第二天递交了离职申请,这也意味着我即将放弃一份安逸的工作,进入到求职的大潮当中,没错,正如所有人想的那样“裸辞”。其实我也是被迫离职,公司没有新项目,2020年的年终奖没有发,工资拖到月末发,每个部门都有裁员,种种迹象表明公司马上就快完蛋了,与其等着被裁,还不如主动离职。HR的答复是半个月以后才能离职,也就是说可以开始找工作了。那么这段故事开始了…….

2021-06-03 21:46:45 1397 17

原创 深入源码Android ListView工作原理完全解析(上)

在 Android 所有常用的原生控件当中,用法最复杂的应该就是 ListView 了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView 可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。另外 ListView 还有一个非常神奇的功能,我相信大家应该都体验过,即使在 ListView 中加载非常非常多的数据,比如达到成百上千条甚至更多,ListView 都不会发生 OOM 或者崩溃,而且随着我们手指滑动来浏览更多数据时,程序所占用的内

2021-06-02 20:53:32 190 2

原创 现实点!做程序员没有好学历真的会低人一等!

晚上吃饭的时候,发现园区的栀子花已经开了,又是一年毕业季悄然来临,不禁感叹时间过的真快呀。算算日子,从毕业到现在已经5个年头了,这一路走来都是在从事Android开发相关工作,着实不易,想和大家分享我的故事。分享这一路走来的点点滴滴与心路历程。或许在如此寒冷的冬季,大家能相偎取暖。对于所有从事IT事业的工作者来说,选择这个行业的原因有千千万。而我,很幸运的就与计算机早早的结缘了。一一切都应该从小学说起,小学二年纪的时候,学校开设了微机课(也就是计算机课程),而最吸引我的就是电脑中的超级玛丽。作为..

2021-05-31 22:26:49 589 6

原创 你瞅着来气不?作为一名安卓技术总监每天有活儿我不干,我就瞎BB,就是玩儿!

当年多少次做梦都在想以后能不能做到那样的一个程度,可不可以自己不用干活在旁边指挥指挥就好,轻轻松松就拿钱,而且是超高那种。后来发现完全是两码事,如果我们不能在短时间内做调整,我敢保证累不死人。多人的开发班子,多条业务线,反正别人做不了的你都得上,关键是还有人给你挖坑。你不做没人做,你不抗没人抗。以下是个人的一些“套路”,团队人数不一样,公司性质不一样,都可能不一样。套路是这么个套路,仅供参考。培训有的时候放权,结果却让人吐血。如果事事都得自己来那么会很累,但是若不自己来心里总觉得不踏实。这个时候我..

2021-05-28 20:45:36 2132 16

原创 老板:“欠你工资是为了让你时刻反思自己还有不足!”那我走?

前言今年3月份的时候,发现了一个很恐怖的事情,公司竟然从我入职到现在差不多一年的时间,每月欠发我工资500多块,原因不便细说,处理结果是等财务核算,根据公司的尿性,核算出来估计也得等下月才会补给我,所以也是时候准备着跳槽了,如果公司想找什么理由搪塞过去,等离职了那就诉诸法律吧。结果是4月份还是一起结给我了,然后我也就果断跑路了,直接裸辞。跳就往大了跳,接下来就给大家分享一下我为期将近一个月的面经分享。简单来说对于大厂,除了对专业知识考究之外,对算法也尤为看重。先简单的说一下情况吧,字节已经拿到offe

2021-05-26 18:00:50 212 11

原创 架构师不一定必须是好的程序员?你放屁!

闲来无事,日常在各种交流群里摸鱼,顺便秉承着“女留微信男自强”的乐于助人原则,日行一善。好死不死的聊天架构师这个点,又好死不死的有个小伙子说了句:“架构师不一定技术很牛的,我们公司现在几个架构师都没看过代码,天天就只是指点江山”。听到这句话,我血压差点直接冲破头顶,当场去世。3分钟后,我做出了一下回复!给小伙子人整傻眼了!我个人认为,好的架构师不一定特别牛批,但一定具备这四点。第一,好的架构师,一定是好的程序员。(1)没写过N年代码,何来指点江山?(2)没做过N年架构实践,何以指导避坑?(3)

2021-05-24 20:51:00 2716 14

原创 渣硕自学两年转行Android,零经验春招拿美团30w年薪offer,HR说我是头一个!

前言本人为某末流211工科硕士, 找工作时,经常在网上找资料学习、面经刷题,为回馈朋友们,写下这篇分享贴,也算是对我求学生涯的总结。说来令人感慨,我的考研之路异常曲折,每次都觉得自己能十拿九稳,结果每次都阴差阳错,失之交臂。第一次因为那年目标院校大幅度提升初试线,导致差一分未过线;第二次换了学校,初试分数超复试线40多分,但是复试拉胯也未能上岸,直到第三次又换了个学校才最终如愿。虽然耽误了两年时间,但现在想来那段时期也让我明白了自己到底想要什么以及怎么去争取。研究生期间,因为所在教研室有许多秋招的

2021-05-07 16:07:11 980 24

原创 第一次有人把Android 23种设计模式讲的这么通透,给大佬跪了!

前言我曾经也有个决心,想把23种设计模式全部记住,但总是背了又忘,忘了又继续背,总是记不住。虽然网上有一大堆教学,分析,自己写一遍,比看十遍深刻多了。顺便学几个单词。话说回来,我们无时无刻都在根据设计模式写代码。设计模式的七大原则尽量用最简单的话描述1、开闭原则(Open Closed Principle)对类的扩展是开放,对修改关闭。在程序需要扩展的时候,对于一个类,不要去修改原来的代码,而是通过继承的方式去扩展这个类。目的:降低维护风险2、单一职责原则(Single Responsibl

2021-05-06 21:09:08 223

原创 Jetpack Compose 初体验教程,不会真还有人不会用吧?

概览Jetpack Compose 是用来构建Android界面的新款工具包,前段时间beta版本刚发布的时候就已经心痒难耐的想要尝试了,最近轻松点了赶紧尝试一波。以前我们都是通过xml布局,通过findViewById()找到控件之后手动给控件赋值。这样的缺点首先是解析xml生成view对象需要通过反射浪费性能,然后是手动给控件赋值容易出错,比如过个地方控制一个view的显示和隐藏,随着控制它的地方越来越多,维护起来也越来越复杂。这几年,整个行业都开始向声明式界面模型转换,这个模型大大的简化了我们构

2021-04-29 20:45:11 1638 2

原创 阿里P8:物竞天择是亘古不变的自然法则,菜鸡就活该被淘汰!

寒冬已至过去十多年是移动互联网蓬勃发展的黄金期,相信每个人也都享受到了移动互联网红利,在此期间,移动互联网经历了曙光期、成长期、成熟期、现在来说已经进入饱和期。依然记得在 2010-2013 年期间,从事移动开发工作不知有多火,有工作 1-2 年经验的开发者薪资基本是上万,对招的人专业素质要求也不高,入门即可。但自从 2016 年底至今来看,局面而是另外一番景象,移动开发市场过度饱和,市场上充斥着太多初级开发者,网上也开始流传着“移动互联网的寒冬”的说法,很多人开始发现找工作没以前好找了,一些岗位常常面

2021-04-28 21:04:02 254 8

原创 渣本毕业,5年通关阿里P7,没有资格跟学弟们谈谈Android职业路吗?

前言前段时间,一位计算机专业大四即将毕业的同学私信我问了我一系列的问题,表达出他对未来的迷茫:我是一个二本科班的应届生,今年毕业,想了解下现在找Android方面的工作的话,对于应届生来说需要掌握那些技能比较吃香,或是有什么基本要求没有?我在b站上看了很多安卓的教学视频,很多是16年左右的,内容很旧,想知道我学完这些,距离参加工作,还有哪些要去补充的?非常担心毕业就失业!我仔细看了一下他提出的问题,归纳总结无非就是:计算机专业的应届生,需要掌握哪些技能才能找到Android方面的工作?我相信有

2021-04-26 17:31:02 106 9

原创 谷歌首发:《Jetpack Compose 入门到精通》自译分享,请多指教!

前言人们对于 UI 开发的预期已经不同往昔。现如今,为了满足用户的需求,我们构建的应用必须包含完善的用户界面,其中必然包括动画 (animation) 和动效 (motion),这些诉求在 UI 工具包创建之初时并不存在。为了解决如何快速而高效地创建完善的 UI 这一技术难题,我们引入了 Jetpack Compose —— 这是一个现代的 UI 工具包,能够帮助开发者们在新的趋势下取得成功。—— 谷歌Compose 提供了一种现代的方法来定义您的 UI,这使开发者可以有效地实现关注点分离。由于 C

2021-04-25 20:54:42 877 7

原创 还搞不懂Android组件化和插件化的小朋友,看这里!

项目发展到一定程度,就必须进行模块的拆分。模块化是一种指导理念,其核心思想就是分而治之、降低耦合。而在 Android 工程实践,目前有两种途径,一个是组件化,一个是插件化。组件化开发说起组件化少不了提起AS模块化的概念,其实两种方式的本质思想是一样的,都是为了代码重用和业务解耦。模块化模块(Module),Android Studio提出的概念,它是根据不同关注点将原项目中共享的部分或业务抽取出来形成独立module,这就类似我们集成的第三方库的SDK。 Module包含两种格式: applica

2021-04-23 21:22:38 115

原创 【最强实习生】20场Android面试斩获大厂offer,来看看我都会些什么

前言很高兴遇见你~先说一下笔者春招实习的情况:从三月初到四月半,经历了近20场面试,一共面试了五家企业,通过了腾讯、字节、蚂蚁、美团的面试,虎牙在一面之后拒了二面邀请。金三银四,笔者不是在面试中,就是在面试的路上,踩了很多坑,吃了很多亏,也学了很多的东西。这篇文章,就想要把笔者的这些收获分享给你们,希望对你们有帮助。文章的内容总体上可以分为两个部分:吹水、干货。吹水部分主要是分析笔者的面试过程,有兴趣的读者可以看一下;干货部分主要是分享笔者的面试经验,从技术到非技术到面试表现,可以根据标题按需阅读。

2021-04-22 22:05:12 540

空空如也

空空如也

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

TA关注的人

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