文章目录
暑期实习战绩
首先介绍个人基本信息。
学历信息:211本硕, 东农本科,成绩排名:3.6%;北邮硕士,成绩排名:18.5%
项目信息:天气项目
实习信息:一段小公司的实习。
接下来介绍暑期实习的战绩。
收到笔试的公司包括:完美世界、百度、快手、美团。
收到面试的公司包括:小米、蘑菇街、百度、快手、美团、阿里。
拿到offer的公司包括:小米、美团、快手、百度。
其中阿里是面试挂掉,蘑菇街是拒绝了二面,完美世界是没有发起面试。
整体下来非常满意,美团是很心仪的大厂,同时还是比较核心的部门。
面试官和mentor都很友善,可以说是非常期待接下来的实习了,希望能飞速成长!
如何准备
在说如何准备之前想给大家举个小例子告诉大家不要盲目准备,要根据自身状况来准备。
以DNF为例,我们是冒险家,最终目标是想要通关团队副本(公司),爆出想要的装备(offer)。
- 基础比面经更重要,面经是用来查缺补漏。
既然想要通关副本,自身属性和刷图技巧二者必不可少。毫无疑问自身属性更重要(基础),自身属性(基础)好的情况下,也需要了解每个副本的不同技巧(去牛客刷对应公司的面经)。
- 非科班或读研期间所做的项目非找工作方向的同学(我就是)要找到自身亮点。
团队副本固定都是要c和奶,那么非C职业(跨专业)肯定会较难打一些。而非C职业(跨专业)也可以通过一些好的装备(项目或实习经历)来增强自身的竞争力。
- 刷题要日积月累,100-200 道最佳,刷题虽好,不要贪刷哦。
为了刷100级史诗装备,我们肯定要先做一套100级的传说装备去刷副本。LeetCode就是我们做100级传说装备的地方,但只要装备齐了就不要再去刷这个副本了。
- java 基础很重要,虽然是 Android 开发但 java 基础问的真的很多,不局限于 java 基础还包括多线程和虚拟机。
武器(Android)肯定是对自身最重要的,但首饰(java)对自身属性也有很大的提升。不能忽略首饰对自身的提升。而算法题则更像防具,为我们提供防御力,但却不像首饰(java)和武器(Android)直接增加力量属性。
- 一定要有一个项目,即使是个比较差的项目也比没有好。但有了项目之后一定要扩展新的功能,同类项目面试官可能看了很多,一定要扩展功能来丰富自己的项目,并学习新的技术栈。
这个就更好理解了,我们有了装备(项目)一定要强化和增幅,为什么旭旭宝宝比别人猛,因为他增幅高呀。但你只要有神话装备,肯定就比没有神话的强。
6. 无论是做项目还是看书,建议记录成博客,方便梳理思路和复习。最重要的是,当自己做的项目的确有人在看也做成毕设的话,真的是很有成就感的事情。
我做了什么准备
-
从研一开始坚持刷题,博主刷了 467道 LeetCode 题,并写了一个专题《一起攻克LeetCode》。
-
跟着《第一行代码》做了天气项目,并将该项目进行扩展,扩展新功能以学习想掌握的技术栈。
-
阅读《Android 开发艺术探索》,《Java 虚拟机》,《Java 并发编程的艺术》,《图解 HTTP》,
《图解 TCP_IP》,《java 核心卷》并撰写博客记录总结。 -
去牛客网刷面经查缺补漏。
-
不断的改简历,主要是改项目描述和个人技能。项目描述一定要展示出技术栈或者成长,这是我的项目描述,仅供参考。
通过和风天气提供的数据接口,编写了一个天气APP。首先根据定位找到当前所在城市,通过OkHttp+Gson库实现对接口数据的获取。之后展示当前城市的天气信息,包括隔小时天气、天气预报、生活建议等。最后,通过自定义View+动画的方式动态的展示当前城市的日出日落时间与空气质量。
复习指南
Java 基础
书籍推荐
-
《Java 核心技术》:这是一本工具书,只看第一本即可。使用方法是:根据面经考察的知识点再去翻这本书找到答案。
-
《Java语言程序设计-基础篇(第10版)》:这是博主研究生上 Java 课的教材,讲的也很好。
重点题目
-
Java 面向对象编程的四大特性与含义
-
String a="" 和 String a=new String("") 的的关系和异同?(要详细到哪些存在栈中,哪些存在堆中)
-
Object的equal()和==的区别
-
异常
-
反射
-
Java 基本类型
-
Java IO
-
抽象类与接口
-
四种引用类型
-
浅拷贝与深拷贝
虚拟机
书籍推荐
《Java 虚拟机 第二版》:面试必看,如果时间紧张的话只需要看2、3、7、12、13章即可。
重点题目
- 虚拟机内存分布
- 各种 GC 算法
- 类加载过程与双亲委派机制
- 内存模型
多线程
书籍推荐
- 《Java 多线程编程核心艺术》
- 《Java 并发编程的艺术》
重点题目
- sleep 与 wait 区别
- 线程安全(涉及的较多包括:关键字、数据结构、多种锁)
- 线程的状态
- java开启线程的方式
- 线程池
- 线程间协作的一些方法
- 死锁
源码
- HashMap 源码
- ArrayList 源码
- LinkedList 源码
- concurrentHashMap 源码
Android
书籍推荐
-
《第一行代码》:这是我入门的一本书,包括一个天气项目。
-
《android 开发艺术探索》:面试必备面试必备面试必备。如果不知道学哪几章,去看我的博客,我博客总结了那几章你就看哪几章。
注意
- 开发艺术没有涉及 Fragment、BroadcastReceiver、Service 的基础,这些可以看《第一行代码》。
- 最好短期内撸一个项目出来。至少是有开发经验,同时可以引导面试官问一些项目相关的技术点。
设计模式
书籍推荐
《Android 源码设计模式解析与实战》:主要在于理解和与所学习过的源码相结合。举个例子,比如说你读过OkHttp 或 View 事件分发的源码,那么就可以理解责任链模式。
重点题目
-
单例模式(DCL、静态内部类)
-
观察者模式
-
工厂模式
-
生产者消费者模式
-
MVP、MVC 框架
算法
- 剑指 offer
- LeetCode Hot 100
- 二分查找
- 快排、归并、堆排、选择排序
- 二叉树的前序后序中序层序旋转
- 笔试 dfs 和 dp 较多,而面试较少,面试考察基础算法
面试手撕代码一般较为简单,LC medium 及其以下,因此刷题切忌刷太多,100-200 道是最佳面试题量,在于精而不在于多。
计算机网络
书籍推荐
-
《图解 HTTP》
-
《图解 TCP_IP》
重点题目
Http
- 状态码
- HTTPS
- HTTP 1.0、1.1、2.0 的区别
- GET\POST\PUT 的区别
TCP
-
TCP 的四层结构
-
TCP 报文
-
TCP 的三次握手四次挥手
-
TCP 的流量控制与拥塞控制
-
TCP 与 UDP 的区别以及适合于什么场景
-
七层结构
复习链接
1.很好的android知识点汇总与学习(Java基础)
2.2019Android秋招提前批面试总结(已拿BAT等6家offer)(Android面试题)
3.我的个人博客(主要包括我面试准备的一些知识点总结以及源码分析以及 Leetcode 刷题指南,对于准备android 面试肯定有很大帮助)
展望与总结
- 实习开始后,向一直在看的厘米姑娘博主学习,每周都要写汇总博客来记录实习工作;
- 好好学习 js 和 RN,以及阅读retrofit源代码撰写文章记录;
- LC 每日一题和周赛不要落下;
- Java 并发掌握较差,从头认真学习;
- 实践一般,对于需求要以工程师的角度思考问题;
- 参与撰写一个算法学习的开源项目,欢迎大家 star 项目链接。
写在最后
首先我也不是什么大神,写这个主要是记录和分享。希望能对明年找工作或者准备暑期实习的同学们有所帮助。
我知道这个过程真的很艰难,但我相信人类的智慧都汇总成一句话:等待与希望!