导语
沉淀、分享、成长,让自己和他人都能有所收获!
一、前言
最近有伙伴问我,我的简历怎么投递了都没有反应,心里慌的很呀。
工作两年了目前的公司没有什么大项目,整天的维护别人的代码,有坑也不让重构,都烦死了。荒废我一身技能无处施展,投递的简历也没人看。我是不动物园里的猩猩,狒狒了!
我要加班,我要996,我要疯狂编码,求给我个机会…
在程序这条职业发展的道路上,如果想专心走技术,并不断提升自己。那么,选择进入一个有挑战项目和一个可以跟随学技术的人,是非常重要的。而这样的资源和人脉基本还是来自一些较大型的公司,如果在前两年因为学历或者某些原因没有能进入,那么在2年后还是可以试一试的。
至少,你敢走出来,愿前程美好皆因你不断拼搏!
接下来我们看一份小伙伴的简历,并对内容和排版上进行优化。以及整理相应的面试点做准备,帮助这位小伙伴尽早找到心仪公司。
面试,也是一次相亲。不认识你之前我要看脸(简历)、见了面我要走心(我来问你来答)。那么简历写不好,相应的内容又没做好准备,你不失败谁失败。
二、电话约面不断的简历
好的简历是一次美好 相亲 的开始,接下里就是对 相亲 事项的准备。
注意事项:
1.简历格式必须要规整, word 格式在不同版本下展示可能有不兼容的问题。所以非常建议写成 pdf 格式的简历。
2.个人信息联系方式中一定记得写邮箱,因为在面试前会发一些约面邀请函到个人邮箱中。
3.技能描述内容一定不能缺少不完整还有核心内容一定要强调突出,不然即使简历通过,面试官与你也没有太多的话题。
4.项目经验描述完整,要在项目中体现出个人的能力以及工作重点。这些都会影响与面试官的场景交流,如果你不留下可以聊的点,要么就等着被动的问。
三、简历好也要做好准备
虽然面试过程基本会问的点相差不太多,但是结合简历自身以及不同的面试官,都会聊出很多不一样的东西。所以不能完整回答出面试官的题目也没有关系,不用过于紧张,只要你能回答出 80% 以上基本都可以通过到下一轮面试。
那么,结合上面的简历,大概会有如下一些问题点可以聊;
1.面试问题
- Activity生命周期?
- service生命周期?
- 如何理解Activity,View,Window三者之间的关系?
- Activity的几种LaunchMode及使用场景
- View的绘制流程
- Touch事件的传递机制
- Android中的几种动画
- Android中跨进程通讯有几种方式
- AIDL理解
- Handler的原理
- Binder机制原理
- 热修复的原理
- 设计一套图片异步加载缓存方案
- Android内存泄露及管理
- Activity与Fragment通信
- Fragment的那些坑
- Android UI适配
- 布局优化
- Http Https
- 网络请求优化
由于文章篇幅问题,我把面试遇到过的高频经典面试题,做了一个分类整理,我发现面试官面试的一些套路,面试时问题很容易重合,那是因为每个公司的需求点其实差不多,而你要脱颖而出,就必须会一些热门不同的技术,Flutter,NDK....听我身边的朋友说我们这个公司不大,待遇也就这样感觉安逸一点也挺好,但是经过这次疫情,他坐不住了,身边的一个个被优化,明明用不到公司也用不到,这个事情之后让他知道学习不能停,要永远为自己留一个后路,而学习就是你的资本,成为无法替代的那一个,永远不需要担心被优化的问题!
最后有需要进阶学习的点击【进阶】加入我们的圈子领取资料和我们一起吧学习交流吧!
2.. 项目经验
项目方面完全依照个人在简历中提到的项目进行询问,但最好在项目中写出一些可以被拿来聊的点。比如这项目是做什么的、个人负责了那块、核心流程是什么、你解决过什么样的问题等等。
如果是一些金融或者订单等,会有专门的面试内容,比如;清分、结算、幂等、多支付、对账、秒杀、发货、分布式锁、一致性等等。这些东西是编不来的,需要亲身经历,否则问不了几个问题,你就漏了。
如果说你还没有一个什么像样的项目,那么可以去 github 寻找,并学习。
3.. 个人发展
这个就是一个比较开放性的问题了,主要是面试的一个收尾,也收复心情。只要不聊的太放飞自我,这里不是问题。
四、系统的学习才能变强
面试成功后和相亲走到结婚一样,日后的日子还是需要靠实力去过。
研发人员的成长终究是需要系统的需求,无论从算法、源码、技术栈以及项目上,要不断的深挖、探索,我一直相信只要努力做一件事并坚持下来,一定会收获成绩。
如何系统学习呢?
###书籍方面
数学
- 数学之美
- 程序员的数学基础
数据结构和算法
- 大话数据结构
- 算法图解
- 剑指Offer
- 数据结构与算法之美
- 算法面试通关
- LetteCode
- 编程之美
- 编程珠玑
- 趣学算法
- 算法(红本)
硬件原理
- 深入浅出计算机组成原理
网络
- 计算机网络:自顶向下方法
- 网络协议
- 图解TCP/IP
- HTTP权威指南
- Wireshark网络分析就这么简单
- Wireshark网络分析的艺术
- Web性能权威指南
- Unix网络编程
Linux
- 现代操作系统
- 鸟哥的Linux私房菜
- 深入理解计算机系统
- Linux程序设计
- UNIX环境高级编程
- 深入Linux内核架构
- 性能之巅
- 最强Android书
- Linux性能优化实战
编译原理
- 编码
- 编译原理
虚拟机
- Java核心技术
- Java编程思想
- Java并发编程实战
- Java并发编程的艺术
- Java核心技术
- 深入理解JVM
- 深入拆解JVM
- 揭秘JVM
- 程序员的自我修养—链接、装载与库
- 垃圾回收算法手册
- 深入理解Android JVM ART
- 深入解析Android 虚拟机
Framework
- HeadFirst设计模式
- Android源码设计模式
- Android进阶解密
- Android框架解密
- 深入理解Android内核设计思想
- Android系统源代码情景分析
编程语言
- More Effective C++
- Effective Java
- Kotlin实战、快速上手Kotlin开发
应用层
- 第一行代码
- Android开发进阶 从小工到专家
- Android进阶之光
- Android开发艺术探索
性能优化
- Android高手开发
- Android应用性能优化最佳实践
组件化、热修复、插件化
- Android组件化架构
- Android热修复技术原理
- Android插件化开发指南
学习路线
一线互联网公司主流的Android架构师技术体系详解
以前我们一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了现在尴尬的处境。想想有多少人对于自己将来要发展的方向和技术类型进行过深入思考和比较呢?
今天,就为大家整理一份目前互联网公司最主流的Android开发架构技术。按照这个框架去完善和深入自己的技术,年薪40w又有何难呢?
1.Java语言进阶与Android相关技术核
Android应用是由Java语言进行开发的,SDK也是由Java语言编写,对于Android来说,只要SDK没有用Kotlin重写,那么Java语言是都需要学习的。而且Android APK的后台服务器程序大概率是Java语言构建,所以掌握Java也是一种必然,这就是为什么BAT面试为什么死抠你的Java水平。
2.APP开发框架体系
APP开发这块知识是现今使用者最多的,并且大多都是CV工程师,程序员界的2-8定律:80%的问题只需要使用20%的知识就可以解决,Android开发也不例外。因而,我们大部分人已经逐步变成了代码搬运工而自己却不知道。代码容易搬运,架构体系却难以复制,要成为架构师,你必须自己亲自去项目实战,读源码,研究原理。
3.性能调优
我们不仅仅对项目要运筹帷幄,还要能解决一切性能问题。只有具备深厚的代码功底,深入学习源码原理以及使用工具进行测试和检查调优,才能达到知其然,知其所以然的效果。
4.移动架构师专题项目实战
架构师不是天生的,是在项目中磨练起来的,所以,我们学了技术就需要结合项目进行实战训练,那么在Android里面最常用的架构无外乎 MVC,MVP,MVVM,但是这些思想如果和模块化,层次化,组件化混和在一起,那就不是一件那么简单的事了,我们需要一个真正身经百战的架构师才能讲解透彻其中蕴含的深理。
五、总结
可能会觉得我是在包装自己的吗?是的!只不过你是包的更加实,并补充自己的短板。通过面试事项的梳理,知道自己哪里不足并去完善。并不是背了几个题就能通过面试,而是为面试知道自己的短板尽快赶上。
可能有人都已经工作几年了,简历还是写的一塌糊涂,word 格式发来打不开的都有(怀疑你的个人电脑多久没打开了也不更新,平时也不写代码了)。
认真对待自己的将来,就是做好现在。从没有那个人一直努力还没有成绩,如果暂时没有就在努力试试。