前言
上岸字节是我未曾想过的结果,我本来的打算是,有公司要我就不错了,这样的我都能逆袭,你们一定也可以,我甚至想说,大厂不过如此。
秋招时我用到的、整理好的资料都放在文末了,需要留言领取。
简单自我介绍
一所双非本科工科院校的22届毕业生,10月拿到字节offer。
在认真准备秋招之前,我属于那种兢兢 业业上课划水摸鱼的选手,不挂科也不出彩,没参加过任何竞赛,唯一做过的项目是期末课设。
在机缘巧合之下(不是),是看到了一些学长和同学在春招的时候为了拿offer非常焦虑和落寞, 我感到了压力和危机,才开始认真为自己的职业道路做准备。
从“入门到精通”(5-6月)
我开始学习之前在网上看了很多社招经历分享,当时的感受就是:当时(大一)我有一个机会好好学习我没抓住,如果上天再给我一次机会,我选择学到醉生梦死。
面试题啊、技术文啊我很多看不懂,所以我直接找了套入门视频每天刷,刷视频的每一天我都觉得自己醍醐灌顶。(一定一定要坚持啊,我没少打瞌睡)
我可以了(7-8月)
虽然这个时候再回头看面经对里面的知识点不再完全陌生,可是很多问题自己试图回答的话,还是答不上来,在秋招来临之前我只剩一个多月,我只能想办法让自己快速地能够应对面试。
亲测有效:
找几篇面试汇总的帖子/面经啥的,把涉及到的知识点都罗列出来,标记高频点,当成自己的复习路线;
按照自己的复习路线,看相关技术文/视频/官方文档等,进行系统性的查漏补缺;
每天花点时间刷刷题。
因为原本基础不太好,复习准备的时间也有限,所以要时刻注意把时间都花在关键的问题上面。
越努力越幸运(8-10月)
秋招真正来临之时,我预估的结果是:是个不错(自己衡量)的公司就行。
但可能是俗话起了一些作用:越努力越幸运,我从学长啊、网友(网络是个好东西啊)那里得到了一些内推机会,我心想大厂又不在我的目标之内,最坏的结果也承受得了,就都投简历试了。
虽然心里想的只是试试,但是面对任何一个机会都要做好万全的准备:一个流畅的自我介绍、面试之前再背背面试题、面试后复复盘什么的。
对于没有华丽项目经验的学生仔来说,基础实在太重要了,否则你简历上写的那些合格程序员都会的知识点,被面试官问到答不上来就太尴尬了。
另外就是算法题得刷啊!!!Leecode、剑指offer都可以。
像做梦一样
成功拿到offer像做梦一样,入职之后还是像做梦一样。
原本以为大厂嘛,大佬肯定很多,我害怕自己思维不如他们灵活,工作节奏跟不上他们,但事实是大家相处甚是融洽,大佬们也十分亲民,有问题也很乐意帮忙解答,内部也不定期会有技术分享,对于菜鸟的成长来说,不要太友好。
但也确实感受到了“人外有人”,遇到了很多值得学习的人,更激发了我想要不断变得更强的决心,也许这就是环境的力量吧。
最后,秋招笔记分享
以下是一些我在准备秋招时用到和整理过的知识点和面试题,有需要的可以留言领取,转化成对自己有用的个人笔记:
一、《Android编程入门教程》
相关视频推荐:Android(安卓)开发零基础从入门到精通
1.Java语言基础从入门到熟悉
整型与浮点型范围
Java控制可见性的4个访问修饰符
接口与抽象类
class
面向对象
容器
多线程
IO
正则表达式
按日历计算年龄
注解使用与简单说明
Java使用加密算法
2.Kotlin语言基础从入门到熟悉
Kotlin系列简介
新建项目
概念介绍
常用写法
lambda
高阶函数
扩展函数
协程
3.Android技术栈从入门到熟悉
Activity
Severce服务
Broadcast广播机制
Fragment
res应用资源
权限
TectView显示文字
EditText用户输入
Button按钮
ImageView图片显示
Layout布局
DrawerLayout侧滑栏
RecyclerView显示列表
多线程
IO操作
存储
NetWork网络
ProgressBar进度条
View
自定义View
动画
WebView
StatusBar
Camera相机
Media
Blutooth蓝牙
WiFi连接
获取手机当前角度
launcher
AIDL
zip
Binder
Notfication通知
PackageManager
RTFSC
设计模式
第三方库
Android Studio
模块化
Gradle
NDK
调试
4.Android Jetpack全家桶学习
在Fragment之间共享数据
ViewModelProviders示例
datebinding
LiveData事件传送
LifeCycle生命周期
WorkManager
ViewModel
数据库
Paging
二、《Android校招面试指南》
1.Java基础
集合框架
泛型
反射
注解
IO
RandomAccessFile
NIO
异常
抽象类与接口的区别
深拷贝和浅拷贝
Java transient关键字
Java finally与return执行顺序
Java8新特性
2.Java并发
Java创建线程的三种方式
Java线程池
死锁
Synchronized/ReentrantLock
生产者/消费者模式
volatile关键字
CAS原子操作
AbsractQueuedSynchronizer详解
深入理解ReentrantLock
Java并发合集—ArrayBlockingQueue
Java并发合集—ConcurrentHashMap
3.Java虚拟机
对象的创建、内存布局和访问定位
Java内存区域与内存模型
Java类加载机制及类加载器详解
JVM中垃圾收集算法及垃圾收集器详解
JVM怎么判断对象是否已死
4.Android基础
Activity全方位解析
Service全方位解析
BroadcastReceiver全方位解析
ContentProvider全方位解析
Fragment详解
Android消息机制
Android事件分发机制
AsyncTask详解
HandlerThread详解
IntentService详解
LruCache原理解析
Window、Activity、DecorView以及ViewRoot之间的关系
View测量、布局及绘制原理
Android虚拟机及编译过程
Android进程间通信方式
Android Bitmap压缩策略
Android动画总结
Android进程优先级
Android Context详解
5.Android进阶
Android多线程断点续传
Android全局异常处理
Android MVP模式详解
Android Binder机制及AIDL使用
Android Parcelable和Serializable的区别
一个APP从启动到主页面显示经历了哪些过程?
Android性能优化总结
Android内存泄漏总结
Android布局优化之include、merge、ViewStub的使用
Android权限处理
Android热修复原理
Android插件化入门指南
VirtualApk解析
Android推送技术解析
Android Apk安装过程
PopupWindow和Dialog区别
6.开源框架
OkHttp解析
Retrofit解析
EventBus解析
7.线性表
8.栈和队
9.树
树的基础
其他常见的树
并查集
B-树,B+树,B*树
10.图
图的基础
拓扑排序
Kruskal算法
Prim算法
Dijkstra算法
Floyd算法
11.散列查找
12.排序
13.海量数据查找
14.剑指offer
15.LeetCode
Dynamic Programming
Array
String
Linked List
Greedy
16.创建型模式
简单工厂模式
工厂方法模式
抽象工厂模式
单例模式
建造者模式
17.结构性模式
适配器模式
外观模式
装饰者模式
代理模式
18.行为型模式
命令模式
迭代器模式
观察者模式
策略模式
模板方法模式
19.TCP/IP
20.HTTP
21.HTTPS
22.操作系统概述
23.进程与线程
24.内存管理
25.SQL语句
三、《2021最新版数据结构与算法面试题》
哈希
二叉树
链表
数组
排序
堆与栈
高级算法
动态规划
加油啊铁子们,我都可以逆袭你们怎么能不可以!!!