1. 前言

前后历时一个半月,也算是拿到了心仪的 offer,顺便水一篇总结把。

前后经历了菜鸟网络、有赞、手淘、头条、全民直播、喜马拉雅,面的多是 1~3 年的岗位。除了手淘和头条一面被刷 QAQ,其他的都走完了流程,然而拿到 offer 的只有最后两个。对比之下,选择了喜马拉雅。

马云说,员工离职的原因无非是钱不到位、或者心委屈了。看着周围的同事整天浑浑噩噩,满足于改改UI、应付一下需求,不知不觉就过30岁了,这可不是我想要的生活。「生于忧患,死于安乐」,温水煮青蛙永远不是什么好事。

毕业时,年少无知,加上当时水平太菜,稀里糊涂进了小公司。现在看来凭空给面试增加了不少难度 QAQ。整体下来最常听到的一句话是「你的 app 没啥亮点嘛」233,印象分大减。所以项目简单的话,基础千万要打扎实。

其实,挺想进阿里的,尽管没有如愿,不过也是一次宝贵的经历。孙子兵法有云:「求其上,得其中;求其中,得其下;求其下,必败。」好在一开始照着 bat 的目标去准备,最后去了喜马拉雅,到也还好。还有一点,阿里各部门的难度也是不同的。手淘就明显难于菜鸟,毕竟这么多年的积累在那里。

动动可爱的小手指好吗⤵️

技术栈最新的应该是有赞,那边的氛围非常不错。这几个问题你们感受下:

  • http2 相对 http1 有哪些优化

  • 平常怎么学习 http, RFC 看过吗

  • 协程了解过吗

  • 前几天刚出的「快应用」了解过吗(我去面的时候真的是刚出来没几天 QAQ)

  • 熟悉 Rxjava?解释一下背压,解释一下 Observable 冷、热

虽然走完流程了,不过很多没答上来,最后凉凉了。

头条、手淘的话,都遇到了「图片框架选型」,没有刻意准备的话这个问题多半要栽。常见的 Picasso, Fresco, Glide, 需要你对比着讲一下,其他的公司可能能讲清楚你熟悉的那个就放过你了。手淘还特意问到了 Glide 中的 BitmapPool,也即 Bitmap 重用的实现(注意与 Bitmap 缓存(LRUCache)不是同一个东西),一脸懵逼.jpg 。。。

另外,okhttp 也可能被问到,只知道个拦截器是不行的。

总体而言,像 java 基础、并发、JVM、计算机网络那点东西,还有 android 四大组件、handler、事件分发、绘制、动画,这些都能背下来的,绝对不能丢分。像插件化、热修复之类的高级主题,还有 okhttp 这种较为复杂的第三方库,短时间内啃不下来,也就听天由命吧,至少拿到了基础分。

路漫漫其修远兮,吾将上下而求索。

2. Android 篇

2.0 Java 基础

下面放一下我整理的 Android 知识脑图,顺便联动一下之前的 Java 篇 Android 知识体系脑图「java篇」

还有一个个人认为非常棒的「java + 计算机网络」的总结,分享给大家:

https://github.com/CyC2018/Interview-Notebook/

缩略图有点模糊,建议PC上看大图,或保存到本地来看。

2.1 Android 基础

推荐资料:官方文档

2.2 Android 常见机制

推荐资料:《Android开发艺术探索》+ 源码

2.3 Android 常用3rd-lib

推荐资料:github 项目源码

2.4 Android 进阶

推荐资料:美团点评技术博客,bugly博客。。。杂七杂八的博客

手机影音1--SplashActivity的更多相关文章

  1. Android 手机影音 开发过程记录(六)

    前一篇已经将音乐播放及切换的相关逻辑弄好了,今天主要理一下剩余的部分,包含: 1. 自己定义通知栏的布局及逻辑处理 2. 滚动歌词的绘制 3. 歌词解析 效果图 通知栏 自己定义布局: <?xm ...

  2. JMeter接口测试实战-动态数据验证

    JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...

  3. 2018年尚硅谷《全套Java、Android、HTML5前端视频》

    全套整合一个盘里:链接:https://pan.baidu.com/s/1nwnrWOp 密码:h4bw 如果分类里没有请下载下边那些小项教程链接 感谢尚硅谷提供的视频教程:http://www.at ...

  4. 尚硅谷《全套Java、Android、HTML5前端视频》

    尚硅谷<全套Java.Android.HTML5前端视频> (百万谷粉推荐:史上最牛.最适合自学的全套视频.资料及源码) [尚硅谷官网资料导航] 谷粒学院在线学习:http://www.g ...

  5. 手机与PC的影音相互播放(DLNA/UPNP)

    DLNA:全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟), 旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无 ...

  6. Android 手机卫士--阶段小结1

    本文地址:http://www.cnblogs.com/wuyudong/p/5904528.html,转载请注明源地址. 本文对之前手机卫士开发进行一个小结. 1.SplashActivity 版本 ...

  7. Android 项目实战--手机卫士(实现splash)

    从今天开始根据之前学习的android的基础知识,实战一下,实现一个简单功能的android手机卫士 本文地址:http://www.cnblogs.com/wuyudong/p/5899283.ht ...

  8. Android手机播放电脑视频文件-屌丝必备

    今天早上一到办公室,照常打开博客园看文章,看到有一片文章是用  http://www.cnblogs.com/wdfrog/p/3738180.html 看到这哥们实现的方法好复杂,又是配置电脑端,又 ...

  9. 360手机助手内部资料曝光,63张PPT纯干货

    360手机助手内部资料曝光,63张PPT纯干货 日前,国内最大的安卓应用商店360手机助手发布了<2016年手机软件行业趋势绿皮书>,这份绿皮书对2015年以来移动互联网的趋势做了总结,展 ...

随机推荐

  1. apache(nginx)+django+virutalenv(virtualenvwrapper)+gunicorn+supervisor配置高效web环境

    前言 django的调试模式配置简单,用于测试十分方便,但众所周知,这个只适合于调试,生产上运行效率十分低下. 后来考虑用nginx+uwsgi的模式进行,但之前配置过apache+wsgi的方式,感 ...

  2. block,inline,inline-block的区别

    block: 英语翻译过来是“块”意思,就跟小时候玩过的积木方块一样,一块一块往上搭. inline: 英语翻译过来就是“内联”的意思,内联不好理解,我的理解就是行内元素: block和inline都 ...

  3. 【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查

    本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系 ...

  4. Sql去重语句

    海量数据(百万以上),其中有些全部字段都相同,有些部分字段相同,怎样高效去除重复? 如果要删除手机(mobilePhone),电话(officePhone),邮件(email)同时都相同的数据,以前一 ...

  5. 使用DevExpress官方汉化文件对界面进行汉化的过程

    在较早期的Dev开发中,基本上都是在使用一个DLL包的汉化文件,如基于13.1的汉化包文件Dxper.LocalizationCHS.Win.v13.1.5.dll,这个汉化包也比较方便,大多数时候复 ...

  6. 在使用vs2012中的MVC4出的错误!类型“System.Data.Entity.DbContext”在未被引用的程序集中定义

    理解决方案的nuget程序包2.选中已安装的包,找到EntityFramework,点击管理 由于我是在Taobao_DAL中用到了EF的“数据上下文对象”,他报错了.所以我们要选中它,将EF5.0安 ...

  7. C# AD(Active Directory)域信息同步,组织单位、用户等信息查询

    示例准备 打开上一篇文章配置好的AD域控制器 开始菜单-->管理工具-->Active Directory 用户和计算机 新建组织单位和用户   新建层次关系如下: 知识了解 我们要用C# ...

  8. MVC之前的那点事儿系列(3):HttpRuntime详解分析(下)

    文章内容 话说,经过各种各样复杂的我们不知道的内部处理,非托管代码正式开始调用ISPAIRuntime的ProcessRequest方法了(ISPAIRuntime继承了IISPAIRuntime接口 ...

  9. 使用JPA储存Text类型的时候 出现乱码的问题

    以前遇到这类问题第一个反应就是觉得客户端和服务端的编码不一样导致的.所以一开始也是那么认为的.以为我们项目使用的是pgsql,默认的就是utf-8,然后我们使用了字符也是utf-8,并且还有一个问题就 ...

  10. hibnate 创建表的时候type=innodb报错

    这个原因是在MYSQL5.5及以后版本中type=InnoDB 由ENGINE=InnoDB  代替. 解决办法,自己定义一个方言: package com.hotusm.dialect; /** * ...