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. 第16/24周 SQL Server 2014中的基数计算

    大家好,欢迎回到性能调优培训.上个星期我们讨论在SQL Server里基数计算过程里的一些问题.今天我们继续详细谈下,SQL Server 2014里引入的新基数计算. 新基数计算 SQL Serve ...

  2. 相同版本的CDH集群间迁移hdfs以及hbase

    前言 由于项目数据安全的需要,这段时间看了下hadoop的distcp的命令使用,不断的纠结的问度娘,度娘告诉我的结果也让我很纠结,都是抄来抄去, 还好在牺牲大量的时间的基础上还终于搞出来了,顺便写这 ...

  3. 原生JS 获取浏览器、窗口、元素等尺寸的方法及注意事项

    一.通过浏览器获得屏幕的尺寸 screen.width screen.height screen.availHeight //获取去除状态栏后的屏幕高度 screen.availWidth //获取去 ...

  4. RichTextBoxEx

    using System; using System.Collections.Specialized; using System.Drawing; using System.Drawing.Imagi ...

  5. exception throw in progress runner thread_VS2015中SVN源代码无说明提交异常

    1-问题描述:通过SVN将代码变更提交服务器时,你可能会遇到以下异常:  exception throw in progress runner thread 2-解决办法: SVN代码源代码管理和TF ...

  6. 【要什么自行车】ASP.NET MVC4笔记02:上传文件 uploadify 组件使用

    参考:http://www.cnblogs.com/luotaoyeah/p/3321070.html 1.下载 uploadify 组件,copy至 Content文件夹 <link href ...

  7. Repository 设计模式介绍

    在DDD设计中大家都会使用Repository pattern来获取domain model所需要的数据. 1.什么是Repository? "A Repository mediates b ...

  8. Jquery验证插件 JqueryValidation 动态验证用户名等

    可以参考:http://www.w3cschool.cc/jquery/jquery-plugin-validate.html //form1 验证用户名 $("#form1"). ...

  9. Java基础复习笔记系列 五 常用类

    Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...

  10. pm2 配置

    ---恢复内容开始--- 1. ecosystem.json { "apps": [ { "name": "name", // 项目名 &q ...