小言_互联网的博客

应届渣本社招上岸美团Android岗,我这条件应该算得上全网最差了吧!

224人阅读  评论(0)

前言

对于很多没有学历优势的人来说,面试大厂是非常困难的,这对我而言,也是一样,出身于二本,原本以为就三点一线的生活度过一生,直到考研受挫,才让我有了新的想法和目标,因此我这个二本渣渣也奋斗了起来,竟拿下了美团Android岗。今天分享这波面经,主要是希望能够激励到同样被学历所困扰的技术人,能够对职业生涯和技术规划有一个参考价值,感谢!

基本介绍

我的情况:

去年 6 月毕业,学校 /专业是某普通二本软件工程,之前也没有工作经验(实习也没有)。

**时间线是这样的:**大三升大四的暑假+大四上学期的大部分时间在准备第一次考研,大四下学期在做毕业设计所以也没有找实习的想法,之后就毕业了。毕业后开始准备考研二战,失败。(考的科目是 政治 英语一 数学一 和 408,分数在 330 上下,主要是数学太低了,只考了 70 )

今年考研结果尘埃落定之后就开始准备往Android开发这个方向求职,2月底开始看面经、针对面试做准备、参加面试。面试过的公司数目也很少,除了这个 offer 以外只面过 3 家小公司(都跪了),大厂暂时没有敢想。这个 offer 其实也是面了许多次的(面挂了但是又被别的部门继续面这种情况),我边面试边学习加上面试的难度飘忽不定的原因吧,感觉

可能是后来的面试比较简单,所以顺利拿到 offer 。

大学时技能水平:

数据结构与算法:大学期间在 leetcode 做了 200 多道题,六月中旬到六月底这段时间为了准备面试怕手生,又刷了某个精选 list 里的 50 多题。

英语能力:六级 550 分。

基本开发工具的使用:如 Git 。

除了上面几项和我近几个月开始学习的 Java 以外,其他的技能主要就是来自大学课程了。前端、UWP 开发、go 、图像 cv 啥的都接触过,写过课程的项目,但是程度都实在太浅,而且有点久远所以基本忘了,又和我目前求职的方向无关,就不列在上面了。

在校期间没有深入地去往某个方向做准备,这一点我到现在也很惭愧。

美团招聘需求

Android开发工程师

美团对Android工程师候选人重点考核的专业知识及专业技能

  • 专业背景:了解计算机基础知识,包括计算机原理、操作系统、网络、算法等;
  • 技术知识:重点强调Java,其次是C/C++和数据结构,这些是最基本的要求,然后是Android开发的基础知识;
  • 编码能力:具备一定的编码能力,包括边界条件、编码风格等。

美团面试经历

如上述美团技术团队招聘需求介绍那样,美团十分注重强调Java基础,因此面试拷问也从Java基础开始。

美团1,2,3面+HR面

一面java基础和安卓基础,问的很详细,但是都不涉及源码。

二面java基础:

1自我介绍+项目.

2String s1 = “abc” 与 String s2 =new String(“abc”)中,s1 == s2?为什么?

3是否了解JMM,说一下s1,s2各在JMM哪个地方存储.

4JMM中哪些区域可以多线程访问.

5java虚拟机的垃圾回收机制.

6弱引用,软引用.

7锁的类型你了解吗,比如对象锁,类锁,重入锁.

8写一下你知道的单例模式.

9我写了并发类型的,用了synchronized(A.class),面试官说这个写法效率低了,问知不知道一种双变量的写法。

10java线程池中的核心线程数与最大线程容量有什么用.

11假设java线程池最大容量为10,核心线程数为5,任务队列为2。

12当第1个任务来了放在哪里。

13第6个任务来了,放到哪里。

14第8个任务来了,放到哪里。

15sleep()方法与wait()方法有什么区别.

16调用sleep()方法后线程是否占用CPU资源Android.

1View点击事件是怎么传递的?

2如果事件传递到子View,子View返回false,这个时候的事件怎么处理.

3handler底层是怎么工作的?

4你知不知道ThreadLocal?

5假如我们在主线程新建10个Handler,现在handler1发了一个message,那么handler2的.

6dispatchMessage能收到吗.

7AsyncTask的底层是怎么实现的.

8怎么让AsyncTask实现并发线程池算法给定一个整型的有序数组num,和整数X,返回 num中大于X的最小整数的位置。比如num = {1,2,3,4,5,9,10,12},X = 7,则返回5,X = 1,则返回1.

三面java基础:

1自我介绍+项目介绍.

2说一下view的点击事件.

3.6个线程如果保证其他5个执行完了,第6个线程再执行.

4系统中哪些地方用到了缓存.

5浏览器缓存你了解吗.

6应用程序中哪些地方用了缓存算法一个int型数组[5,6,7,8,9,0,1,2,3,4],寻找int型变量x在数组中的位置,如果不存在,返回-1。(这题要求的时间复杂度小于o(n))

一共四面,问题太多,这里只添加内容做详实的2面和3面面经.

当然了我最终加入了美团…因为公司配车

三、拿下美团Android岗offer前,我做了些什么?

(1)准备简历

简历是门面,更是敲门砖,能否拿到大厂的面试机会,就要看自己的简历如何,抛开学历意外,大厂最看重简历是否有亮点,因此我们对简历内容要有准备,对自己的突出点,包括技术、个性上的亮点,要练习表达,避免临时组织语言。

(2)提升技能

实际上我有个美团的朋友很早之前就向我透露过,很多人认为大厂看重学历,但实际情况并不完全是,在美团只以能力论英雄。所以,在日常生活中,通过不断地学习,提升自己的能力,努力去拉进自己与目标值的距离,这是很有必要的,也是未来的必然趋势。

关于提升技能,我的做法:
万事俱备,只欠东风。剩下你要做的。就是把阶段二提炼出的武林秘籍打印出来。
每天早上,泡一杯咖啡,享受阳光洒在窗前的温暖。翻开武林秘籍,开背!

  • ①阅读实战文档

Android实战开发电子书

  • ②读一些源码

  • ③读一些技术笔记

(3)猛刷面试题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OPh36jBB-1617885731082)(https://upload-images.jianshu.io/upload_images/25267696-c1f723f4b2cb0172.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

对于base不是太好的人来说,刷面试题实际上是最具有“急救”效果的办法,因此在面试阿里前,我是刷了不少面试题的,目的倒不是希望面试时能被问到原题,而是对大厂面试有一个相应的了解,清楚阿里面试会问一些什么,涉及到哪些技术栈等。

(4)b站是个学习平台

众所周知,b站是程序员最好的视频学习平台。而这一点,我竟然在最近才发现,还是通过同学的分享。在b站上关注了一个大厂up主大佬,一直在更新Android最新的一些进阶学习视频,还有时会分享些面经经验,强烈推荐大家关注一波!b站搜索:网易leo老师(https://space.bilibili.com/547363040)

做个总结

很多学历不太好的人,可能对自己没有太大的信心,实际上任何事情都有“奇迹”发生,而这个“奇迹”关键还是要靠自己去创造。无论你是小白菜鸟,还是技术大牛,日常都不能够落下学习这件事情,一旦落后下来,就容易遭到淘汰。

以上我的经历希望能够给大家带来帮助,另外自己手头上的资料整理均可免费分享,需要这些资料的朋友,可以随手点赞评论支持下我然后点击这里获取!


转载:https://blog.csdn.net/Androidxox/article/details/115530919
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场