前言
上岸字节是我未曾想过的结果,我本来的打算是,有公司要我就不错了,这样的我都能逆袭,你们一定也可以,我甚至想说,大厂不过如此。
秋招时我用到的、整理好的资料都放在文末了,需要的自取。
简单自我介绍
一所双非本科工科院校的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最新版数据结构与算法面试题》
- 哈希
- 二叉树
- 链表
- 数组
- 排序
- 堆与栈
- 高级算法
- 动态规划
加油啊铁子们,我都可以逆袭你们怎么能不可以!!!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。