赞
踩
目录:
成长背景:
先说一下个人的一个成长背景吧。出身江南小镇,大学没有出省,毕业之后就去了上海,在一家互联网金融工作,到去年年底整整两个年头。辞职之后运气不太好,碰到疫情肆虐,现在快步入5月月末了,实际上早早就已经在面试了,截止目前的结果,三面阿里已经“落榜”,后来拿到了一个内推的机会,4面揽下了美团offer。
面试感受:
这次面试下来,给我的感受只有一个,大厂不愧是大厂,阿里的面试还是挺难的,没有那么容易进,面试的几个环节下来,可以说是人才济济,自己感觉还挺自卑的,不过我也不是一个不自信的人,所以面试美团还算顺利,美团的发展还是挺快的,整场面试下来还是相当精彩的!
文章以下内容会给出阿里与美团的面试题(答案+解析)、面试题库、Java核心知识点梳理等
(1)阿里巴巴三面面试题(部分题):
(2)美团四面面经:
一面:
二面:
三面:
四面(HR面):
美团面试题答案+解析:
(1)扎实的基础知识:语言基础+计算机基础+算法+基本的Linux运维
想要面试一线互联网大厂,那么最基本的就要是熟练掌握基础知识。首先Java语言,需要你对集合类、并发包、IO/NIO、JVM、内存模型、泛型、异常、反射等都有一个比较深的了解,想要让自己更有优势一些,最好是源码部分也要读过一些。
社招岗位,大部分都是中高级职位,所以这部分的职位要求是比较高的,而且很重视面试者对虚拟机的掌握,比如类加载机制,内存模型等等,这几个方面在优化和并发编程中都非常重要。
至于算法,基本一点的就是排序和查找算法,另外对递归、分治也要有一定的掌握,推荐可以读《算法的乐趣》《Leetcode算法》
除此之外,计算机基础,如TCP/IP协议和操作的知识储备也是必须要有的,这些是作为一个开发的基础条件,也是大学的基础课。
(2)造轮子的能力:设计模式+各种缓存和数据库的应用+中间件技术+高并发和高可用的分布式系统设计
大型互联网公司每天要面对海量的请求,都会考察分布式系统的架构和设计,如何构建高并发高可用的系统,另外因为用户基数比较大,一个细微的优化可能会给带来很大的收益,所以对一些技术栈的掌握要求都比较深入。
比如对MySQL数据库,需要知道相关的配置和优化,业务上来以后如何分库分表,如何合理的配置缓存,一个经验丰富的服务端开发人员,也应该是一个称职的DBA。
对常用的开发组件,比如中间件,RPC框架等都要有一定的了解,虽然工作中可能用不到我们自己造轮子,但是掌握原理才会得心应手。这部分知识主要靠工作积累,推荐《大型网站技术架构与Java中间件实践》,还有曾贤杰的《大型网站系统架构与实践》,里面对大型网站的演变,服务治理和中间件的使用做了很详细的阐述。
作为业务开发人员,有必要了解压力测试相关的指标,比如QPS,用户平均等待时间等,可以帮助你更好的了解自己的系统。
(3)软性指标:快速学习的能力+良好的沟通能力+对相关行业的了解
除了基本的技术要求以外,大型的互联网公司招聘时,还会看重一个人的学习能力,鉴定这个人是不是值得培养的人。比如沟通习惯、逻辑分析能力等等,这些都包含在内,而这些能力是很难段时间去提高的,是长期的积累。
另外,对相关行业的了解程度也是能够加分的,比如互联网金融类的公司,就会更倾向一些拥有过支付和银行相关的系统开发经验的人。
(1)了解主流互联网公司的技术栈,梳理好相关的知识点
很多人面试一线互联网,失败的主要原因其实就是对这些公司的技术找要求不了解,也不知道面试时会问到哪些方面?所以提前做一些功课是很有必要的,关于主流互联网公司的技术栈,我自己也有一些整理,这份文档能够很好地帮助你梳理这些技术栈,以及面试会问到的知识点。
(2)适当了解一些产品或设计的知识,以点带面,成为复合型人才
优秀的开发人员,多多少少都要拥有一些产品或设计的相关知识,有利于理解产品经理所要功能之外的根本需求,对产品的研发和开发更有帮助。
要成为复合型人才,对实战研究也要有所知,关于实战问题,我也整理了不少文档,如redis实战、SpringBoot核心笔记等。
(3)刷一刷历年来的大厂面试题(包括HR面)
对程序员来说,很多技术的学习都是“防御性”的。也就是说,我们是在为未来学习。我们学习新技术的目的,或是为了在新项目中应用,或仅仅是为了将来的面试。但不管怎样,一定不能“止步不前”,不能荒废掉。
现在行动,你还来的及!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。