211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)

背景介绍

项目是管理系统,本科211(非科班),硕士985(非科班)。

投递情况:

 

投了15家公司,参加了阿里,头条,快手,美团的面试,均已通过。

 

华为和腾讯,简历过了,但是因为有了offer,就没有去面了。

 

其余的简历挂。

面试经历:

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第1张图片

 

阿里一面:70分钟

 

突击电话面试,正思考着导师布置的任务,阿里面试官打来了电话,开始了阿里一面。

 

阿里面试官自我介绍

 

介绍了5分钟左右,部门的情况,主要的业务

 

会那些操作系统

 

Linux会一点

 

说一下操作指令,怎么看cpu,看进程,看端口

 

操作系统进程间通信

 

追问了一个信号相关的问题,我不知道了。

 

io多路复用,说一说

 

面向切面编程,说一说那些场景

 

说说面向切面编程

 

给一个场景,有很多方法,找出耗时长的方法

 

spring的@autowired的作用

 

mybatis和hibernate的区别

 

C,C++了解吗(不了解)

 

python用过吗

 

没有,我用过matlab(笑)

 

java类加载器哪几种

 

java垃圾回收器

 

我先说了垃圾回收算法--垃圾收集器--比较CMS和G1。英文名词可能念的不是很标准。

 

配置过java启动设置吗

 

没有,我只用过-xms等指令改过JVM参数,和jinfo看参数

 

说说-XMS,除了-XMS,你还用过哪些指令

 

-XMX -XSS -XMN

 

说说java保证线程间同步的方法

 

Synchronize,reentrantlock,volatile,原子类。。。

 

说说倒计时器和循环栅栏的区别

 

说一说为什么要有JIT

 

平时怎么学习的

 

mysql聚簇索引和非聚簇索引

 

左外连接和内连接的区别

 

数据库的读写分离的作用

 

hash和一致性hash的区别,为什么要用一致性hash

 

spring boot。。。(不了解)

 

消息中间件了解吗,说说为什么要用消息中间件

 

项目中的缓存不一致怎么解决的

 

英文面试(说说你的特点,你的爱好)

 

聊了聊作为非科班,怎么去安排时间学习计算机。

 

工作压力大能承受嘛

 

反问

 

面试官对我的努力以及学习态度非常认可。对我而言是莫大的鼓励,希望自己能一路走下去,不管发生什么。

 

阿里二面:50分钟(P9面)

 

早上面试官发来短信,约了晚上面试,让我准备一段最能体现我水平的代码。

 

纠结了一天,最后还是硬着头皮,准备展示自己的项目代码。

 

首先自我介绍

 

聊了聊为什么转专业,本科阶段分数咋不高,有没有参加一些社团活动(没有)。。。。

 

面试官用共享屏幕看了我的项目,项目太过简单。

 

感觉面试官一下没了兴趣。

 

之后面试官说我简历上写读过SSM框架源码,让我说一说SSM框架的源码

 

我愣了一下,我说简历上好像没有写吧,SSM框架源码我没读过。

 

问我读过哪些源码

 

我当时有点懵,第一反应,ha..ha..hashmap

 

面试官又问,除了hashmap你还读过哪些源码。
想了想,ConCurrentHashMap, ArrayBlockingQueue。。。

 

那就ConCurrentHashMap吧。你给我讲一讲。

 

理了下思路,准备开始讲了,面试官让我在IDE上把源码打开讲。

当时差点ConCurrentHashMap都没拼出来。(一紧张,以为是Cur开头的。。。)

 

之后就一直说Concurrenthashmap源码

 

面试官主要关注点在怎么是线程安全的。

 

插入怎么保证安全,读写间会不会影响,怎么保证安全。。。

 

因为之前项目和SSM框架的源码,我都没能很好的展示。所以concurrenthashmap就尽可能的多说,把自己好的一面展示给面试官。

 

说了大概40分钟吧,然后面试官说时间差不多了,先这样吧。

 

反问。

 

 

面试官让我多参加开源的项目,多参加比较,多参加社团活动。
面完一度觉得自己凉了,没有高水平的代码展示,也没读过spring的源码。我的朋友也觉得这次希望不大。之后问了一面的面试官面试结果,没想到竟然过了。

 

阿里三面:25分钟(P9交叉面)

 

面试官介绍

 

面试官介绍自己是中间件部门的,这轮是交叉面。

 

感觉面试官很和蔼,很有耐心。更多的是让我自己去讲述所学的知识。

 

自我介绍

 

项目介绍

 

说说自己会那些知识

 

我从头开始说,(集合类,JVM,JUC,Mysql,SSM。。。)

 

集合类用了那些设计模式

 

Juc

 

说说怎么理解线程安全

 

之后面试官一直在追问线程安全问题,问我JVM堆上会不会产生线程安全问题。(大概是这个意思)

 

我这方面确实不太了解。就说了创建对象时候的线程竞争问题。

 

后来面试官说了,他其实更想我能从底层去说,如果能从底层CPU开始说,那他会非常认可。

 

反问

 

面试官很真诚的给了一些学习建议:他让我加强学习的广度和深度,先加强广度,多学一些技术知识。(确实我目前的会的技术还很少)因为学习精力有限,再挑一些方面去加强深度。(我也没能做到在一些方面深入学习)

 

HR面:20分钟(视频面)

没有自我介绍,直接开始问问题。

 

hr给我感觉还是比较亲切的。

 

大概问题:

 

非科班的你对比科班的学生,满分5分,给自己水平打几分(3分),怎样提高剩下的两分。

 

自己的强项和优势(自律,努力,对学习有热情)

 

在阿里每个人都很勤奋,这一点不算什么优势。(做事专注度高,精力旺盛)

 

最喜欢哪一类的人

 

家庭带来的一个影响(可以说好的,也可以是不好的)

 

遇到的心里落差最大的事情(挫败感最强的事情)

 

压力大能承受吗。

 

 

hr也很真诚,其实交流过程中,也能引发自己的一些思考。自己的优势,自己的性格,自己的抗压能力,到底是怎样的。

 

感受:

 

其实我投简历的时候,都不太敢投递阿里。因为在阿里一面前已经过了字节的三次面试,投阿里的简历一直没被捞,所以以为简历就挂了。

特别感谢一面的面试官捞了我,给了我机会,同时也认可我的努力和态度。

对比我的面经和其他大佬的面经,自己真的是运气好。别人8成实力,我可能8成运气。

所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。希望自己能继续保持学习的热情,继续努力走下去。

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第2张图片

 

字节一面 4月22日 下午5:00-5:40

 

算法题:合并链表

 

先说思路,第一次面试,有点紧张,说的一塌糊涂。然后又重新说了一遍,迅速写完代码,过了。

 

算法题:合并k个链表

 

一开始先问时间复杂度,我马上回答nlogk,然后用归并的想法解释。

 

但是太紧张,没有解释清楚,面试官不理解我的做法。

 

最后急中生智想到了用堆来合并。

 

面试完后看leetcode, 这题我刷了3遍,每次都是用归并的做法做的。

 

所以面试的时候有点思维定势,想了好久才想到用堆。

 

select * from t where b=1;Select * from t where a=1 and b=1;问怎么建立索引

 

先说需要建两个索引,后来反应过来了,建一个联合索引。

 

Select * from t where c=1;C是非主键索引,问几次磁盘io,b+索引树高度3。

 

我目前还不知道正确答案是啥。

 

字节二面 4月26日 2:00-2:50

 

自我介绍

 

最长连续序列

 

做过了,秒了。面试官让我测试一下,还好没出问题。

 

String为什么不可变

 

聊聊http2.0,问http缓存

 

有没有遇到过死锁,咋解决的

 

项目中中文乱码问题咋解决,知不知道中文乱码的原因

 

java线程间通信,有没有用过java中的exchange

 

知不知道负载均衡

 

redis几种数据结构,Zset数据结构,怎么排序的,Redis缓存淘汰策略

 

业务场景

 

电脑微信扫码,然后手机点验证,电脑就进入微信。怎么实现

 

反问

 

字节三面 4月28日 5:00 - 5:40

 

自我介绍

 

sqrt(x),保证小数点后三位精度

 

面试的时候一直在想之前腾讯笔试的时候做的一道题,觉得尾数处理太麻烦了。我以为需要最后保留小数点后三位,想得复杂了。

简单的一道题,写的比较纠结,面试官看我如此纠结,于是就让我全程写代码了。

 

跳台阶,斐波那契数列

 

单例模式,然后面试官问指令重排。

 

写个简单工厂模式吧

 

写了简单工厂,面试官说确实实现了功能,但是有两个问题,一个是依赖关系没有解除,一个是if else。

本身是非科班的,项目也特别简单。所以面试更多是手撕代码,代码题也不难。

非常感谢字节给的机会。

 

最后接了阿里意向书,工作地点应该是阿里云飞天园区云栖小镇

 

个人学习Java时间短,很多技术都不会,而且没有好的项目,所以最开始都不太敢投递简历。每次投递简历都是很心累,仿佛想到了面试的时候,问啥啥不会。也算是运气好吧,能通过几家公司的面试。但我知道自己有多菜,所以后续还要继续努力。

限于平台篇幅原因,这里只放了阿里和字节的面经,对其他面经感兴趣的朋友可以私信回复【学习】来找笔者获取面经

写一点个人的学习上的想法经验,仅供同学们参考。

 

学习经验:

首先要了解一点:为了找工作和为了提高技术,在学习的方向上肯定是不一样的。

各个公司面试的题目方向其实还是有一些不同的,比如头条注重算法,所以看对应公司的面经,可以有一个大概的方向。

面试前刷了三个月的LeetCode题,每天一道,翻了几遍左程云左神写的《程序员代码面试指南》

 

感兴趣的朋友可以帮忙转发文章后,私信回复【学习】来免费获取左神的《程序员代码面试指南》

除了上面提到的LeetCode题和算法书,还看了很多左神讲的视频

 

只有算法肯定是不够的,还要有其他技术的支撑

多线程与高并发

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第3张图片

 

深入JVM

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第4张图片

 

23种设计模式(马士兵课程:以坦克大战项目为实战)

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第5张图片

 

Redis

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第6张图片

 

MySQL

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第7张图片

 

Zookeeper

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第8张图片

 

网约车项目实战

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第9张图片

 

亿级流量多级缓存架构平台

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第10张图片

 

相关的资料笔者已经给大家打包整理好了,感兴趣的朋友可以帮忙转发文章后,关注私信回复【学习】来免费获取

相关文档及视频

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第11张图片

 

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第12张图片

 

211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer)_第13张图片

 

你可能感兴趣的:(211本非科班,面试阿里、字节、快手、美团面经总结(已拿offer))