一位6年老Android面经总结
声明|作者:android进阶者
地址:https://www.jianshu.com/p/d77873cbad5f
前言
准备面试其实已经准备了挺久了,当时打算面试准备了差不多以后,跟公司谈谈涨薪的事情,谈不拢的话,就年后直接找其他的公司。谁想到婚假还没休完,老板就在公司宣布了撤出上海的决定,愿意去深圳的就去,不愿意的就自己找工作,给了一个多月的时间找工作,就没有赔偿了,反正公司也没钱。悲哀….
幸好提前准备过,不过都是断断续续的今天看点这个,明天看点那个,三天打鱼两天晒网的,也没用心去准备.这下好了,直接到了最差的地步了,没办法,用心准备吧.
简历内容
基本信息
姓名,联系方式,工作年限,学校,专业,学历
个人技能
工作几年
独立开发
掌握的技能,组件化、插件化、热修复、自定义view
适配、架构、第三方源码、性能优化
职业技能:管理能力、产品能力、沟通能力
这些东西一定要写自己熟悉的,最好项目里面能体现出来的内容
项目经验
项目描述:一句话 工作内容:做了哪些模块,用了什么技术、做过哪些优化,重构方面的内容
项目方面写两到三个项目,最好最近一两家公司做的项目
公司经历
公司名称 时间 工作内容
面试题准备
项目中用到的技术
整理出来,上网找找相关的技术文章和面试题看看,然后用自己的话把这些内容梳理出来,最好有自己的看到,面试官习惯问为什么
Android知识点
基础:
四大组件、fragment、自定义View、事件分发、滑动处理、handler、AsyncTask、IntentService、ThreadHandler、Bitmap相关的、动画的用法
进阶:
ListView、RecyclerView、AIDL、LruCache、DiskLruCache、View,Window,Activity的关系、进程保活、性能优化、
高阶:
Bindler、AMS、WMS、Context、APP的启动流程、插件化、组件化、热修复什么的等等
第三方框架:
okhttp、retrofit、RxJava等等,熟悉一个框架的源码,然后知道其他框架的优缺点
混合开发:
通常都是RN相关的,目前Flutter用的不多
架构和语言:
MVC、MVP、MVVM、组件化、插件化、热修复等等
上面介绍得不需要全部掌握,看你项目,挑一些内容掌握住,怎么问都不怕得那种,前提是不去一二线得大厂
java知识点
多线程、并发、java基本语法、泛型、hashmap等容器相关的,一般这几差不多了
面试内容准备
自我介绍
就聊聊最近一个项目里面的工作内容,遇到的问题,有什么亮点,难点 这个看项目,有人说我们没什么亮点啊,我只想说你写的代码都没有bug么,花你半天一天时间搞不定的bug就可以聊了
职业规划
技术线路:架构师技术专家 管理线路:开发leader,项目经理什么的
有什么想问的
技术面试官问你:
问问技术团队多少人、技术氛围怎么样的、如果有可能问问他们的技术栈是什么,围绕着技术来问
HR问:
转正的考核标准啊,薪资待遇啊,公司现有规模啊、发展情况啊,表现出对这个公司很感兴趣就行了
注意一点:
考虑好你得目标公司的规模和行业。
小微公司:不看项目随便问,没有逻辑性,闭了眼睛瞎问,对于这种会就会,不会就不会,别怂,反正也不想去。
稍微大点的厂:一般是围绕项目去问,然后衍生出一些技术问题来细问,问的比较深的时候别慌,把你的理解说出来,然后说其他的就不知道了,体现出你的思考和应变能力。
基本上面试就这些的,剩下的就是尽人事听天命了,记住,面试不上有时候不是你得问题,很可能是公司其实不急着找人,或者面试官不行。
谈一下某次面试的经历:
我从找工作到找到工作,历时大概有20多天,前后投了不下于百家公司,接收到的面试不到10家,收到第一家面试的通知之前我已经投了3、40家公司,那时候整个人都快崩溃了,后来把心态放平,还是照着自己心里的期望薪资来,不要将就,后来继续投,陆陆续续有两三家公司通知面试,面试感觉还可以,但还是没有结果,我估计是期望薪资开的比较高,所以没打算要。
后来有家公司a通知我面试,这家公司投的比较早了,中间改过一次简历的,又重新把投到那家公司的简历拿出来看了一遍,梳理了一下项目什么的,最终面完试,技术说我这边过了,后面领导随便聊聊就行,等了两天没消息,又面了两家b和c,以为a公司没希望了,没想到是他们公司要走流程什么的,然后电话给我说让我给个现在工资流水,后面就是定薪资,走审批,体检,今天总算拿到offer,哈哈,开心。哦,对了,转正以后的薪资福利加一起要比我期望的还要高,还有几个月的年终奖,是不是很羡慕,嘿嘿。
b公司比较坑爹,告诉我说他们组织架构调整,要暂停招聘计划,关键我同事那天早上还去面了,不过一面就让人走了,也是6年的老android了,这有点让人无语。以前也有同事去那家面也不要,那个同事可以说是android界大佬级别的了,公司内部用的所有框架都是他写的,网络,图片,数据库,还有各种控件,快速开发框架,他都没过。这公司是搞幼教英语的,具体哪家就不说了,怕背上官司。
c公司hr面的时候问我期望薪资有没有降低一点的可能,我没同意,最后也 是没戏了。
总体来说还算幸运吧,至少有个坑让我呆了。
总之,面试需认真谨慎地对待。
阅读更多
Google 以 Flutter 作为原生突破口,移动端即将统一了
一位6年老Android面经总结的更多相关文章
- 7年老Android收到阿里offer,跟领导提离职被怼:为年薪百万不做兄弟?
在当今社会,钱就是衡量一个人价值的标准,如果你在一家公司,领导再怎么重用你,但是薪资待遇却很低,这样根本是很难留住人,毕竟工作就是为了赚钱,要是连工资都满足不了,谈其他根本就是扯淡. 最近在职业论坛看 ...
- 64位Linux安装android开发IDE的全过程
首先特别感谢这个链接: http://www.androiddevtools.cn/ 提供了几乎所有的安卓开发需要用到的资源. 操作系统:CentOS 7. 一.android studio 这个折腾 ...
- 64位Ubuntu配置android环境报错(...adb": error=2, 没有那个文件或目录)
Failed to get the adb version: Cannot run program "/home/jayhomzhou/android/android-sdk/platfor ...
- 64位linux安装android sdk的问题
截至到今天,似乎在64位机器下安装android sdk存在不能运行的问题,可以用以下方法解决: Android SDK requires: Fedora 17 64bit with 32bit An ...
- 关于64位Linux配置android开发环境出现 No such file or directory
前几天在64位系统上部署android开发环境的时候出现了这种问题 /aapt: No such file or directory 通过谷老师,知道原理android SDK里面的程序全是32位的, ...
- 64位ubuntu搭建android开发环境问题解决方案
安装32位库支持,删除eclipse 的配置文件和.android目录(测试环境ubuntu 14.04) sudo apt-get install libc6-i386 lib32stdc++6 l ...
- Win7 32位下cocos2dx android开发调试环境
1.使用环境 win7 32位 + vs2010 2.软件准备(下方绿色文字带链接) cocos2dx-v2.2.2 jdk7 android sdk android ndk adt bundle a ...
- ubuntu14.04-64位机配置android开发环境,ADT,sdk,eclipsea
这是一篇没有图的好文章,对于学习android的非常实用 1.首先到orcale官网 http://www.oracle.com/technetwork/java/javase/download ...
- 【我的Android进阶之旅】解决Center OS 64位系统编译Android APP报错error=2和finished with non-zero exit value 127
一.错误描述 1.问题 java.io.IOException: error=2, 没有那个文件或目录 今天在刚重新搭建好的64位的Center OS上安装好了Android SDK,Jenkins, ...
随机推荐
- 面试题(转载csdn)
转自https://blog.csdn.net/linzhiqiang0316/article/details/80473906 相关概念 面向对象的三个特征 封装,继承,多态,这个应该是人人皆知,有 ...
- easyui判断下拉列表
{field:'state',title:'状态',width:100, formatter : function(value, row, index){ if (value == 0) { retu ...
- css的寬高約束
https://blog.csdn.net/qq_26780317/article/details/80736514
- springdata 动态查询之分页
- odoo 权限问题
odoo 权限问题 权限组问题 权限组是为了将人员按组划分同一分配权限.权限组的建立是基于每个应用来实现的 建立一个应用的分组(可省略,主要用于创建用户时有选择项) 建立一条record记录model ...
- Linux内核模块编程——Hello World模块
Linux内核模块编程 编程环境 Ubuntu 16.04 LTS 什么是模块 内核模块的全称是动态可加载内核模块(Loadable Kernel Modul,KLM),可以动态载入内核,让它成为内核 ...
- rnn_model.fit Incompatible shapes
pip3 install git+https://github.com/keras-team/keras.git -U Restart notebook
- vue stylus 格式化问题
IDE是vscode 安装了.vetur插件 由于stylus可以仅用缩进不用写大括号之类的,所以十分方便, 但有个问题,按alt shift F 格式化时,vetur这个插件会默认添加上正常css的 ...
- MySQ数据备份
MySQL备份概述 问题:备份和冗余有什么区别? 备份:能够防止由于机械故障以及人为操作带来的数据丢失,例如将数据库文件保存在了其它地方. 冗余:数据有多份冗余,但不等于备份,只能防止机械故障带来的数 ...
- python爬虫学习笔记
爬虫的分类 1.通用爬虫:通用爬虫是搜索引擎(Baidu.Google.Yahoo等)“抓取系统”的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 简单来讲就是尽可 ...