2020 Android 暑期实习面试总结(已拿4个offer)

暑期实习战绩

首先介绍个人基本信息

学历信息:211本硕, 东农本科,成绩排名:3.6%;北邮硕士,成绩排名:18.5%
项目信息:天气项目
实习信息:一段小公司的实习。

接下来介绍暑期实习的战绩

收到笔试的公司包括:完美世界、百度、快手、美团。

收到面试的公司包括:小米、蘑菇街、百度、快手、美团、阿里。

拿到offer的公司包括:小米、美团、快手、百度。

其中阿里是面试挂掉,蘑菇街是拒绝了二面,完美世界是没有发起面试。

整体下来非常满意,美团是很心仪的大厂,同时还是比较核心的部门。

面试官和mentor都很友善,可以说是非常期待接下来的实习了,希望能飞速成长!
在这里插入图片描述

如何准备

在说如何准备之前想给大家举个小例子告诉大家不要盲目准备,要根据自身状况来准备。

以DNF为例,我们是冒险家,最终目标是想要通关团队副本(公司),爆出想要的装备(offer)。

  1. 基础比面经更重要,面经是用来查缺补漏。

既然想要通关副本,自身属性和刷图技巧二者必不可少。毫无疑问自身属性更重要(基础),自身属性(基础)好的情况下,也需要了解每个副本的不同技巧(去牛客刷对应公司的面经)。

  1. 非科班或读研期间所做的项目非找工作方向的同学(我就是)要找到自身亮点。

团队副本固定都是要c和奶,那么非C职业(跨专业)肯定会较难打一些。而非C职业(跨专业)也可以通过一些好的装备(项目或实习经历)来增强自身的竞争力。

  1. 刷题要日积月累,100-200 道最佳,刷题虽好,不要贪刷哦。

为了刷100级史诗装备,我们肯定要先做一套100级的传说装备去刷副本。LeetCode就是我们做100级传说装备的地方,但只要装备齐了就不要再去刷这个副本了。

  1. java 基础很重要,虽然是 Android 开发但 java 基础问的真的很多,不局限于 java 基础还包括多线程和虚拟机。

武器(Android)肯定是对自身最重要的,但首饰(java)对自身属性也有很大的提升。不能忽略首饰对自身的提升。而算法题则更像防具,为我们提供防御力,但却不像首饰(java)和武器(Android)直接增加力量属性。

  1. 一定要有一个项目,即使是个比较差的项目也比没有好。但有了项目之后一定要扩展新的功能,同类项目面试官可能看了很多,一定要扩展功能来丰富自己的项目,并学习新的技术栈。

这个就更好理解了,我们有了装备(项目)一定要强化和增幅,为什么旭旭宝宝比别人猛,因为他增幅高呀。但你只要有神话装备,肯定就比没有神话的强。

在这里插入图片描述
6. 无论是做项目还是看书,建议记录成博客,方便梳理思路和复习。最重要的是,当自己做的项目的确有人在看也做成毕设的话,真的是很有成就感的事情。

我做了什么准备

  1. 从研一开始坚持刷题,博主刷了 467道 LeetCode 题,并写了一个专题《一起攻克LeetCode》。
    在这里插入图片描述

  2. 跟着《第一行代码》做了天气项目,并将该项目进行扩展,扩展新功能以学习想掌握的技术栈。
    在这里插入图片描述

  3. 阅读《Android 开发艺术探索》,《Java 虚拟机》,《Java 并发编程的艺术》,《图解 HTTP》,
    《图解 TCP_IP》,《java 核心卷》并撰写博客记录总结。

  4. 去牛客网刷面经查缺补漏。

  5. 不断的改简历,主要是改项目描述和个人技能。项目描述一定要展示出技术栈或者成长,这是我的项目描述,仅供参考。

通过和风天气提供的数据接口,编写了一个天气APP。首先根据定位找到当前所在城市,通过OkHttp+Gson库实现对接口数据的获取。之后展示当前城市的天气信息,包括隔小时天气、天气预报、生活建议等。最后,通过自定义View+动画的方式动态的展示当前城市的日出日落时间与空气质量。

复习指南

Java 基础

书籍推荐

  1. 《Java 核心技术》:这是一本工具书,只看第一本即可。使用方法是:根据面经考察的知识点再去翻这本书找到答案。

  2. 《Java语言程序设计-基础篇(第10版)》:这是博主研究生上 Java 课的教材,讲的也很好。

重点题目

  1. Java 面向对象编程的四大特性与含义

  2. String a="" 和 String a=new String("") 的的关系和异同?(要详细到哪些存在栈中,哪些存在堆中)

  3. Object的equal()和==的区别

  4. 异常

  5. 反射

  6. Java 基本类型

  7. Java IO

  8. 抽象类与接口

  9. 四种引用类型

  10. 浅拷贝与深拷贝

虚拟机

书籍推荐

《Java 虚拟机 第二版》:面试必看,如果时间紧张的话只需要看2、3、7、12、13章即可。

重点题目

  1. 虚拟机内存分布
  2. 各种 GC 算法
  3. 类加载过程与双亲委派机制
  4. 内存模型

多线程

书籍推荐

  1. 《Java 多线程编程核心艺术》
  2. 《Java 并发编程的艺术》

重点题目

  1. sleep 与 wait 区别
  2. 线程安全(涉及的较多包括:关键字、数据结构、多种锁)
  3. 线程的状态
  4. java开启线程的方式
  5. 线程池
  6. 线程间协作的一些方法
  7. 死锁

源码

  1. HashMap 源码
  2. ArrayList 源码
  3. LinkedList 源码
  4. concurrentHashMap 源码

Android

书籍推荐

  1. 《第一行代码》:这是我入门的一本书,包括一个天气项目。

  2. 《android 开发艺术探索》:面试必备面试必备面试必备。如果不知道学哪几章,去看我的博客,我博客总结了那几章你就看哪几章。

注意

  1. 开发艺术没有涉及 Fragment、BroadcastReceiver、Service 的基础,这些可以看《第一行代码》。
  2. 最好短期内撸一个项目出来。至少是有开发经验,同时可以引导面试官问一些项目相关的技术点。

设计模式

书籍推荐

《Android 源码设计模式解析与实战》:主要在于理解和与所学习过的源码相结合。举个例子,比如说你读过OkHttp 或 View 事件分发的源码,那么就可以理解责任链模式。

重点题目

  1. 单例模式(DCL、静态内部类)

  2. 观察者模式

  3. 工厂模式

  4. 生产者消费者模式

  5. MVP、MVC 框架

算法

  1. 剑指 offer
  2. LeetCode Hot 100
  3. 二分查找
  4. 快排、归并、堆排、选择排序
  5. 二叉树的前序后序中序层序旋转
  6. 笔试 dfs 和 dp 较多,而面试较少,面试考察基础算法

面试手撕代码一般较为简单,LC medium 及其以下,因此刷题切忌刷太多,100-200 道是最佳面试题量,在于精而不在于多。

计算机网络

书籍推荐

  1. 《图解 HTTP》

  2. 《图解 TCP_IP》

重点题目

Http

  1. 状态码
  2. HTTPS
  3. HTTP 1.0、1.1、2.0 的区别
  4. GET\POST\PUT 的区别

TCP

  1. TCP 的四层结构

  2. TCP 报文

  3. TCP 的三次握手四次挥手

  4. TCP 的流量控制与拥塞控制

  5. TCP 与 UDP 的区别以及适合于什么场景

  6. 七层结构

复习链接

1.很好的android知识点汇总与学习(Java基础)

2.2019Android秋招提前批面试总结(已拿BAT等6家offer)(Android面试题)

3.我的个人博客(主要包括我面试准备的一些知识点总结以及源码分析以及 Leetcode 刷题指南,对于准备android 面试肯定有很大帮助)

展望与总结

  1. 实习开始后,向一直在看的厘米姑娘博主学习,每周都要写汇总博客来记录实习工作;
  2. 好好学习 js 和 RN,以及阅读retrofit源代码撰写文章记录;
  3. LC 每日一题和周赛不要落下;
  4. Java 并发掌握较差,从头认真学习;
  5. 实践一般,对于需求要以工程师的角度思考问题;
  6. 参与撰写一个算法学习的开源项目,欢迎大家 star 项目链接

写在最后

首先我也不是什么大神,写这个主要是记录和分享。希望能对明年找工作或者准备暑期实习的同学们有所帮助。

我知道这个过程真的很艰难,但我相信人类的智慧都汇总成一句话:等待与希望

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章