三年Android开发却只有一年工作经验,是怎么收到offer的?

文章讲述了作者的面试经历,涉及Java、C语言、Android、数据库、网络、操作系统等多个技术领域,强调了技术深度、实践经验以及职业规划在求职过程中的重要性。作者分享了自己的学习资源和成长路线图,鼓励开发者系统学习和深入研究技术细节。
摘要由CSDN通过智能技术生成

第一家:

一个小姐姐把我问得n脸懵逼(一个屌丝程序猴和妹子聊天就紧张,心跳加速,口干舌燥,说话结巴)!

她首先让我自我介绍一下,可脑袋一下像短路了一样!

就说:“你知道的程序员表达能力差,嗯。。。嗯。。。你看简历吧!”她直接一脸无语!

  • 一面

java:

1、jvm启动过程? 验证是验证什么
2、强引用、软引用、弱引用、虚引用,是什么?分别在什么时候用
3、反序列和序列化 为什么要? 什么情况下要?
4、反射 为什么要反射? 什么时候用? 缺点?
5、hashcode 为什么出现、是什么、equals关系

c语言:

6、include 作用、import作用
7、static关键字:c跟java
8、动态编译、静态编译
9、线程通信
10、设计模式:生产者消费者、工厂模式、单例模式(3种实现、为什么双验证)你会怎么设计
11、tcp和udp区别
12、做一道题topk的题,指定用快排的思路

  • 二面
    1、项目及项目里用到的知识
    2、3次握手、4次挥手、为什么不4次、5次
    3、数据结构,10大排序挑2个讲
    4、计算机系统,中断是怎么实现的
    5、计算机系统的锁底层是怎么样实现的
    6、多核cpu,多线程怎么访问同一个内存

Android:

7、怎么学Android
8、handle作用,为什么
9、有没有写过安卓的多线程
还有的有点记不清了

第二家:

面试官特别关注我的实践经验,面试官很和蔼,但我和面试题都很难。

数据库

1.数据库中什么时候用索引?(应用场景)

2.数据库中的索引一般是什么数据结构?

3.数据库中的事务是怎么回事?(我就知道这个…泪目)

网络:

http和https的区别?追问:https的安全信道建立的具体步骤?

TCP为什么比UDP稳定?

JAVA:

进程和线程的区别?

线程安全怎么保证?

什么时候volatile可以保证线程安全?

除了sychronized,还有什么可以保证线程安全的方法?

Android:

Activity A 启动 Activity B,两个Activity的生命周期顺序?(假设完全覆盖,且standard Activity 启动模式)

如果按返回键呢?

sqlite、SharedPreferences和文件的应用场景有啥区别?

手写代码:

一个机会均等的互赠礼物函数:输出一种完全随机的可能性,且不能自己送自己。

每个人准备一份礼物,收到一份礼物。

e.g.

1->N

2->3

N->1

第三家:

面试官是个东北银,一口浓厚的东北口音,觉得还挺平易近人?

  • 一面

\1. 自我介绍

\2. 笔试题1:删除无序链表中的重复结点(能否优化)

例:输入3 -> 2 -> 4 -> 3 -> 5 输出3 -> 2 -> 4 -> 5

解释:3结点重复,将第二个’3’结点删除(这边的重复指的是结点的值重复)

\3. 笔试题2:先说一下二叉树的有哪些遍历方法。写一个二叉树前序遍历的非递归形式。

\4. 讲一下Java的内存。

\5. 创建一个字符串对象,这个对象分配在哪里?

\6. String str = “123” + “456”;会创建几个对象。

\7. 问了操作系统的问题,没学过,所以也忘了问了什么。

\8. 数据存储有学过吗?数据库和文件保存有什么区别?

\9. Activity有哪些启动模式?

\10. 有什么要问的?

  • 二面

\1. 上一轮面试做了哪2道面试题?

\2. 会哪些编程语言?

\3. 想做哪个方向?为什么?

\4. 对Android比较感兴趣,都学了些什么?

\5. ListView源代码有看过吗?

\6. 想一下ListView应该是怎么实现的?链表?

\7. 给你2个线程,如何产生死锁?为什么会产生死锁?

\8. 外存有一定量的数据,需要读取到内存中处理,但是内存的大小是不知道的,要求如何能够读取尽量少的次数,才能处理完全部的数据?

三、醒悟

经过这段时间的面试,懂得了技术深度的重要性,还有职业规划的重要性!

我意识到自己不能这样再咸鱼下去了,我,一个工作三年却只有一年工作经验的Android开发,终于醒悟了!

img

1、要知道自己到底想要什么很重要。这是第一步,也是最重要的一步。因为这关系到你能够够选对学习方向,能否沉下心来去学习。

我们都知道,做自己感兴趣的事情的时候,是可以事半功倍的,因为你愿意去做它,而不是出于某种原因不得不去做。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后说一下我的学习路线

其实很简单就下面这张图,含概了Android所有需要学的知识点,一共8大板块:

  1. 架构师筑基必备技能
  2. Android框架体系架构(高级UI+FrameWork源码)
  3. 360°Androidapp全方位性能调优
  4. 设计思想解读开源框架
  5. NDK模块开发
  6. 移动架构师专题项目实战环节
  7. 移动架构师不可不学习微信小程序
  8. 混合开发的flutter

Android学习的资料

我呢,把上面八大板块的分支都系统的做了一份学习系统的资料和视频,大概就下面这些,我就不全部写出来了,不然太长了影响大家的阅读。

330页PDF Android学习核心笔记(内含上面8大板块)

Android学习的系统对应视频

总结

我希望通过我自己的学习方法来帮助大家去提升技术:

  • 1、多看书、看源码和做项目,平时多种总结

  • 2、不能停留在一些基本api的使用上,应该往更深层次的方向去研究,比如activity、view的内部运行机制,比如Android内存优化,比如aidl,比如JNI等,并不仅仅停留在会用,而要通过阅读源码,理解其实现原理

  • 3、同时对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习

  • 4、android的方向也很多,高级UI,移动架构师,数据结构与算法和音视频FFMpeg解码,如果你对其中一项比较感兴趣,就大胆的进阶吧!

希望大家多多点赞,转发,评论加关注,你们的支持就是我继续下去的动力!加油!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

也很多,高级UI,移动架构师,数据结构与算法和音视频FFMpeg解码,如果你对其中一项比较感兴趣,就大胆的进阶吧!

希望大家多多点赞,转发,评论加关注,你们的支持就是我继续下去的动力!加油!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值