安卓 Android方向就业 保姆级最全准备攻略

求职规划

学习规划(todo:自主化//要求 可改正 )

时间点

时间内容
大二下实习准备
暑假中小厂实习
大三上脱产实习(1.询问先例 正规性 /非正规性 )
大三下学期春招实习
暑假暑假正式实习
大四上学期秋招(9月-11月)(正式秋招,实习转正)
大四下学期春招补录(3月-5月)

需要

学习基础–>写项目—>找实习—>找工作

写简历(技术栈 写项目 比赛获奖) -->准备笔试 -->准备面试 -->offer选择**

大二下 || 目标:暑假找一份实习

时间点学习内容要事目标资源教材
每日学习
android系统学习写demo 1.计算器 2.天气预报1 博客2《安卓第一行代码》3 作者的个人笔记
笔试:算法题,数据结构||安卓与专业知识题蓝桥杯,赛氪杯过基础;面试acwing
java补充学习对应思维导图查漏
深入学习android 操作系统3.聊天室4 商城《Android开发艺术探究》
集合源码阅读 安卓重要框架源码阅读帖子
中小厂实习开始优先
初版简历(含编造)可以投递并过中小厂的帖子
笔试:安卓与专业知识题 (基础简单题)通过
面试题:模拟面试+小公司(基础简单题)通过
时间点学习内容掌握程度重要事情资源教材
大二上学期android系统学习 深入学习数据结构 计算机组成原理简单完成android UI方面内容完成自己个人项目
大二下学期深入学习android 操作系统 计算机网络 集合源码阅读 安卓重要框架源码阅读完成andorid 跟后台复杂交互能力完成自己多人合作项目
大三上学期编译原理 JVM 深入学习计算机网络 优化项目 刷算法题 跨平台方面学习 安卓源码阅读(启动 view 四大组件 Handle等)自己有完整的个人项目和多人合作项目准备春招(暑假实习)
大三下学期查缺补漏假期实习;准备秋招

学习资源

关卡

  • 第一关 简历筛选

  • 第二关 笔试

  • 第三关 面试(群面/技术面试/HR面试)

第一关 简历筛选

个人项目:出来自己与众不同,有技术含量的项目

自己个人完成的项目:

多人合作前后台交互的项目:1

获奖荣誉 蓝桥杯(国赛奖)、ACM(有牌子)

第二关 笔试

程序员的笔试 = 算法题 + 基础计算机知识题目+安卓相关的知识题目

算法题没有什么技巧,练就完事了,熟能生巧。

计算机基础知识 = 计算机网络 + 操作系统 + 编译原理 + 计算机组成原理 +数据结构。

第三关 面试

img

方向

细分

1 业务开发:这部分主要是通过系统支持、第三方依赖库等支持,完成具体的业务逻辑;(主要是通过多线程,结合四大组件完成);

2 NDK开发:以JNI为基础,将业务转移到Native层,通过C/C++实现;

3 混合开发:包括HTML5、Flutter、RectNative等跨平台的解决方案;

4 应用优化:针对应用(包括原生以及跨平台的app)的性能问题,其中包括内存、耗电、磁盘IO、网络,以及APk安装文件等方面的优化处理;

5 底层开发:主要以系统的Framework支持外核心,扩展到Linux内核相关特性的修改(ROM层面的开发)。

建立方向自信

竞争力:客户端这个方向,尤其是安卓方向,进可以学跨平台大前端,退可以走后台物联网等方向,因为学的人少竞争压力也相对于后台方向的同学小很多。

**公司选择:**基本上大中公司有客户端。

**求职难度:**中等,因为目前学习客户端人数较少,但是公司每年都需要客户端岗位的应届生,所以相对其他开发岗位来说,竞争压力小;另一方面,客户端需要掌握的知识相对后台来说比较少,更加容易复习和专项训练,很容易做出东西方便自己检验是否正确。

技能树

专业技能

红色技能点:基础开发能力

紫色技能点:算法和编程思维 思考模式能力

*绿色技能点:*与人沟通交流 多人合作的软件使用能力

img

校招岗位技能树
img
java语言学习指南

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wK2mnNox-1648466803742)(C:\Users\Echo\AppData\Roaming\Typora\typora-user-images\image-20220310112850514.png)]

计算机基础学习

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PU4Zl2RY-1648466803743)(C:\Users\Echo\AppData\Roaming\Typora\typora-user-images\image-20220310113000597.png)]

算法和思维能力

img

经典算法

img

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LHuAm6QC-1648466803747)(C:\Users\Echo\AppData\Roaming\Typora\typora-user-images\image-20220310113718920.png)]

设计模式

img

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FtylkbRN-1648466803751)(C:\Users\Echo\AppData\Roaming\Typora\typora-user-images\image-20220310113757140.png)]

源码阅读的能力培养
顺序

集合源码---->android经典框架---->android系统源码

方法
  • 1找一些大佬的博客 整体过下思路和设计方式
  • 2自己下载源码,在本地调试下
  • 3用自己的话总结下自己对该源码的理解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R5S8SJca-1648466803752)(C:\Users\Echo\AppData\Roaming\Typora\typora-user-images\image-20220310113938534.png)]

多人合作

img

git等版本控制的工具

学习流程

1学会把自己本地的电脑代码利用git上传到网上,管理自己的代码

2学会跟别人多人合作的时候,如何多人协作开发,如何解决冲突等复杂操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cU9vHjTL-1648466803756)(C:\Users\Echo\AppData\Roaming\Typora\typora-user-images\image-20220315142419325.png)]

自我总结的能力

1每周自己总结下自己学到什么,整理成周报

2对自己已经掌握的技术点,自己写博客整理总结

3写完一个项目时候,总结下这个项目用到那些技术点,遇到什么问题,如何解决技术难点的,可以优化的

4每次面试完一场第一时间总结复盘下刚才面试的情况和回答的问题

项目经历准备与提升

对于客户端项目我觉得要从最简单的开始练习

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6hSMUSb8-1648466803758)(C:\Users\Echo\AppData\Roaming\Typora\typora-user-images\image-20220315144837149.png)]

项目准备方向
  • 项目本身准备:完成一个技术栈合适的项目

  • 项目简历描述:不管你项目多厉害多酷炫,你接到面试通知前只能通过文字去描述它(后文详细讲)

  • 项目内容口述:你成功约到了面试,这时候更需要的是你把你项目讲出来(同后文)

  • 项目技术点提问:面试官一定会从技术角度对你的项目进行提问,关键答好了加分,答不上就尴尬

    注意点:

    【尽量避开大众项目】: 项目一定要有你的痕迹,自己写的项目就要高原创,复刻他人的项目就要添加自己的元素内容,切记不要用烂大街的项目,你花时间准备常见项目可以,但一定要改内容(具体怎么改参考后文)博客项目,xxx管理系统,RPC等,xxx音乐播放器,客观印象不好(上线实用的除外)

    【别太纠结原创】 做项目未必是自己原创度100%的好,可以基于开源改,也可以复刻,不要太纠结自己花时间写一个好项目去准备面试(除非你是大一大二做准备)。大三或者面临找工作的同学可以基于开源项目去准备一个自己能理解,并且自己理解后去尝试改动的项目

    【保持学者的态度】 学生项目在面试官眼里其实都一样,除了一些特别亮眼的高技术力的作品,面试的重点都是讲你从项目里面收获了什么,你能不能讲你这个项目,所以更多的是你作为学者去和面试官探讨挖掘你写项目的收获以及你个人在写项目的时候的亮点。

    1.2 面试如何考察项目(场景)

    了解面试官如何考察项目前,先讲讲如何把你项目的信息传达给面试官。

    • 简历项目介绍: 介绍一定要全面,不然可能筛选都过不了!也不能为了好看而造假(后文会细致介绍)
    • 在线演示网站: 事实胜于雄辩,扔一个网站面试官不一定会看,但至少项目印象会好一点。
    • 项目总结博客: 项目不方便上线,又想简历文字不足以展示你项目,可以试着后面加个博客链接

    然后说说面试官考察出题的几个角度

    • 开放性提问:

      这种问题是希望面试者能自己把项目优点讲出来,提前准备好应答就能高分拿下
      
      • **介绍一下你这个项目? **一定要把握住的问题,是你“推销”你项目亮点的机会,把这个当成答辩去介绍
      • 讲讲你在这个项目中的工作。某某后端人员:我全干!;干了啥说啥,全干那就分点前后台部署全部讲一遍
      • 可以简单说说你项目的技术栈吗?简简单单,自己写的,这里注意要讲为什么用,没有系统是上来就是高并发,高可用的,你选择技术是为了解决什么讲的越详细越好。
      • 讲讲你项目的亮点? 小白会觉得登录都是亮点,而一些厉害的又觉得自己项目平平无奇,其实关键是用文字去修饰,你至少把你项目功能top 3列出来,然后再去文字修饰。
      • 讲讲你项目中遇到的问题? 这种问题构建就是看你有没有思考,一定要要问题,给自己一张白纸思考,至少想出3个来。
      • 如果让你继续完善这个项目你会怎么做。优化其实就是对你遇到的问题的补充,该上线的上线,该增加并发量的加并发量,至少也准备三个
      • 如果让你设置一个
    • 非开放性提问:

      这里起就是面试官对你技术的一些问题探讨,或者是他引导去发现你项目的亮点
      
      • 你为什么使用xxx技术呢?
      • 你可以讲讲xxx技术的工作原理吗?
      • 你项目是怎么上线的?
      • 你项目为什么没上线。
      • 讲讲你项目的xxxx(登录/购物车/消息通知…)模块怎么实现的
      • 讲讲你系统xxx(RBAC/支付/聊天室)功能怎么实现的

    场景题一般都是跟着项目来的,有时候你会发现面试官不是无故抛出场景题,很多时候都是基于你项目定制的

    • 开放性场景题:

      **你的程序可能没经过大风大浪,但面试官总能给你刮起他见过的大风大浪**
      
      • 如果我现在有xxx个用户来访问你的网站,你网站能顶住吗。我觉得啊,10个应该没问题,面试官:好下一个。这里就该讲你用过jmeter测试过或者就实话实说没测试过,然后给个测试思路
      • 如果你网站收集了2亿个日志,你能在小内存情况下找到相同的两份记录吗。啊,不,我不记日志的,出门左转.jpg;hash分组常见大数据处理题
      • 如果网站用户激增你会怎么应对当然是跑路,啊,不是。。|数据库分库分表,服务器扩容,加机器等等
      • 如果记录对不上,你会怎么办查日志
      • 开发场景题目太多了,这里就不一一举例了,说几个我面试遇到的吧 如何设置分布式日志系统 多个获取/修改 版本号请求怎么保证你的缓存一致性
二、项目准备

这里讲一些攻略,适合小白和准备优化项目或者准备面试的同学。

没项目怎么办

** 讲讲怎么选择项目 **

  • 一般准备两个项目;时间不够就重点准备一个项目
  • 按照自己学习进度,最好是 springboot 项目,有能力就微服务或者分布式

这里讲讲获取项目的途径

  1. 自己码一个项目 不推荐,除非时间足够,或者学的很前,像我做项目都是每做完一个项目就有新的技术栈就不喜欢之前自己写的项目,所以除非你技术栈已经很全了,不然不建议自己从零开始造。

  2. 参加同学组队项目 不推挤,除非核心成员,能一起开发,不然进去你就真的是负责部分工作了,而且成长不大,适合自己没有能力自学写项目的同学

  3. 参加实验室老师的项目 推荐,老师项目成长最快了,老师给你布置任务,然后你有学习方向,然后甲方会催你,有时候成长就是在压迫中出来的,哈哈,我就是,反正参与后你会收获很多,及时项目没成功,但你会比不参加的同学进步很多,一个是经验,一个是能力。

  4. 开源项目

    推荐,但获取渠道需要鉴别
    
    • 自己找 有能力就多逛github,逛社区,一些新技术或者方便的脚手架你不去找它,它会来找你?
    • 找学长、大佬推荐 抱大腿,选一个开源、然后有视频教程、有丰富文档的适合你技术栈的项目
    • 上*** \***有一个***论坛项目,吹爆,技术栈适中,适合小白,教学文档丰富,关键免费
    • 慕课 这个慕课是程序员的慕课,不是大学慕课,这里视频质量极高,教学质量很不错,但都是收费的,一个项目少的几百,贵的几千,适合有钱人;没钱的可以去组队购买,或者去神奇的淘宝(有钱尊重版权,没钱尊重自己qwq)
    • 上B站 b站课程质量参差不齐,完整的项目课程都是培训机构的,免费课程适合有时间的去学习,时间紧的还是走付费课程。然后培训机构其实适合自己完全没方向的同学,那种获取信息不通畅,想有大佬包帮的,可以去购买培训机构课程,但有些东西是培训机构带不来的,所以尽量多思考,多逛社区。
    • 加知识星球 知识星球就相当于交流群论坛版,有大佬提供学习路线和一些学习资源,一般一两百一年,但里面所有资源免费,项目质量也很高,都是博主精挑细选的。

如果看到这里还是不清楚自己需要什么项目,那就再看一遍上面第四点,一定要主动去找,不论什么方式,不去找项目看到不会自己找上门,后文项目细节就不讲了,默认都有一个已经运行起来的项目了

求职技能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OaBXnB52-1648466803761)(C:\Users\Echo\AppData\Roaming\Typora\typora-user-images\image-20220315145232472.png)]

制作简历
1 如何制作简历
2 如何投递简历
笔试技巧

1 如何准备笔试

面试技巧

2.1 如何准备面试
面试才是找工作时候最重要的一个环节,一般来说技术面试有三轮:

一面组员面试:基础知识+基本能力+简历是否真实
二面组长面试:项目经验+开发方面专业知识

三面总监面试:个人计算机方面规划+思考能力+智力题+发展方向的选择

offer选择和比较

意识观

分期去完成,最好每周总结下这周学的东西和自己项目方向

模拟面试下,然后先投一些小公司面试练练胆子1

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值