双非学历,试水阿里,50连问险胜拿Offer

简介: 在接触Java之前我接触的比较多的是硬件方面,用的比较多的语言就是C和C++。到了大三我才正式选择Java方向,到目前为止使用Java到现在大概有一年多的时间,所以Java算不上很好。刚开始投递的时候,实习刚辞职,也没准备笔试面试,很多东西都忘记了。所以,刚开始我并没有直接就投递阿里,毕竟心里还是有一点点小害怕的。于是,我就想投递了几个不算大的公司来练手,就是想着刷刷经验而已或者说是练练手(ps: 还是挺对不起那些公司的)。面了一个月其他公司后,我找了我实验室的学长内推我,后面就有了这5次面试。

在网上看到一份挺有代表性的阿里面经,跟大家分享一下~

前言

在接触Java之前我接触的比较多的是硬件方面,用的比较多的语言就是C和C++。到了大三我才正式选择Java方向,到目前为止使用Java到现在大概有一年多的时间,所以Java算不上很好。刚开始投递的时候,实习刚辞职,也没准备笔试面试,很多东西都忘记了。所以,刚开始我并没有直接就投递阿里,毕竟心里还是有一点点小害怕的。于是,我就想投递了几个不算大的公司来练手,就是想着刷刷经验而已或者说是练练手(ps: 还是挺对不起那些公司的)。面了一个月其他公司后,我找了我实验室的学长内推我,后面就有了这5次面试。

下面简单的说一下我的这5次面试: 4次技术面+1次HR面,希望我的经历能对你有所帮助。


一面(技术面)

1.自我介绍(主要讲自己会的技术细节,项目经验,经历那些就一语带过,后面面试官会问你的)。

2.聊聊项目(就是一个很普通的分布式商城,自己做了一些改进),让我画了整个项目的架构图,然后针对项目抛了一系列的提高性能的问题,还问了我做项目的过程中遇到了那些问题,如何解决的,差不多就这些吧。

3.可能是我前面说了我会数据库优化,然后面试官就开始问索引、事务隔离级别、悲观锁和乐观锁、索引、ACID、MVC这些问题。

4.浏览器输入URL发生了什么? TCP和UDP区别? TCP如何保证传输可靠性?

5.讲下跳表怎么实现的?哈夫曼编码是怎么回事?非递归且不用额外空间(不用栈),如何遍历二叉树

6.后面又问了很多JVM方面的问题,比如Java内存模型、常见的垃圾回收器、双亲委派模型这些

7.你有什么问题要问吗?


二面(技术面)

1.自我介绍(主要讲自己会的技术细节,项目经验,经历那些就一语带过,后面面试官会问你的)。

2.操作系统的内存管理机制

3.进程和线程的区别

4.说下你对线程安全的理解

5. volatile 有什么作用,sychronized和lock有什么区别

6. ReentrantLock实现原理

7.用过CountDownLatch么?什么场景下用的?

8. AQS底层原理。

9.造成死锁的原因有哪些,如何预防?

10.加锁会带来哪些性能问题。如何解决?

11. HashMap、 ConcurrentHashMap源码。HashMap是线程安全的吗? Hashtable呢? ConcurrentHashMap有 了解吗?

12.是否可以实习?

13.你有什么问题要问吗?


三面(技术面)

1.有没有参加过ACM或者他竞赛,有没有拿过什么奖? ( 我说我没参加过ACM,本科参加过数学建模竞赛,名次并不好,没拿过什么奖。面试官好像有点失望,然后我又赶紧补充说我和老师一起做过一个项目,目前已经投入使用。面试官还比较感兴趣,后面又和他聊了一下这个项目。)

2.研究生期间,做过什么项目,发过论文吗?有什么成果吗?

3.你觉得你有什么优点和缺点?你觉得你相比于那些比你更优秀的人欠缺什么?

4.有读过什么源码吗? (我说我读过 Java集合框架和Netty的,面试官说Java集合前几面一-定问的差不多,就不问了,然后就问我Netty的,我当时很慌啊! )

5.介绍一下自己对Netty的认识,为什么要用。说说业务中,Netty 的使用场景。什么是TCP粘包/拆包,解决办法。Netty线程模型。Dubbo在使用Netty作为网络通信时候是如何避免粘包与半包问题?讲讲Netty的零拷贝?巴拉巴拉问了好多,我记得有好几个我都没回答.上来,心里想着凉凉了啊。

6.用到了那些开源技术、在开源领域做过贡献吗?

7.常见的排序算法及其复杂度,现场写了快排。

8.红黑树,B树的一些问题。

9.讲讲算法及数据结构在实习项目中的用处。

10.自己的未来规划(就简单描述了一下自己未来的设想啊,说的还挺诚恳,面试官好像还挺满意的)

11.你有什么问题要问吗?


四面(半个技术面)

三面面完当天,晚上9点接到面试电话,感觉像是部门或者项目主管。这个和之前的面试不大相同,感觉面试官主要考察的是你解决问题的能力、学习能力和团队协作能力。

1.让我讲一个自己觉得最不错的项目。然后就巴拉巴拉的聊,我记得主要是问了项目是如何进行协作的、遇到问题是如何解决的、与他人发生冲突是如何解决的这些。感觉聊了挺久。

2.出现0OM后你会怎么排查问题?

3.自己平时是如何学习新技术的?除了Java还回去了解其他技术吗?

4.上一段实习经历的收获。

5. NginX如何做负载均衡、常见的负载均衡算法有哪些、一致性哈希的一 致性是什么意思、一致性哈希是如何做哈希的

6.你有什么问题问我吗?

7.还有一些其他的,想不起来了,感觉这一面不是偏向技术来问。


五面(HR面)

1. 自我介绍(主要讲能突出自己的经历,会的编程技术一语带过)。

2.你觉得你有什么优点和缺点?如何克服这些缺点?

3.说一件大学里你自己比较有成就感的一件事情,为此付出了那些努力。

4.你前面跟其他面试官讲过--些你做的项目吧?可以给我讲讲吗?你要考虑到我不是一个做技术的人,怎么让我也听得懂。项目中有什么问题,你怎么解决的?你最大的收获是什么?

5.你目前有面试过其他公司吗?如果让你选,这些公司和阿里,你选哪个? (送分题, 回答不好可能送命)

6.你期望的工作地点是哪里?

7.你有什么问题吗?


总结

1.可以看出面试官问我的很多问题都是比较常见的问题,所以记得一定要提前准备,还要深入准备,不要回答的太皮毛。很多时候一个问题可能会牵扯出很多问题,遇到不会的问题不要慌,冷静分析,如果你真的回答不.上来,也不要担心自己是不是就要挂了,很可能这个问题本身就比较难。

2.表达能力和沟通能力太重要了,一定要提前练一下,我自身就是一个不太会说话的人,所以,面试前我对于自我介绍、项目介绍和一些常见问题都在脑子里练了好久,确保面试的时候能够很清晰和简洁的说出来。

3.等待面试的过程和面试的过程真的好熬人,那段时间我压力也比较大,好在我私下找到学长聊了很多,心情也好了很多。

4.面试之后及时总结,面的好的话,不要得意,尽快准备下一场面试吧!我觉得我还算是比较幸运的,最后也祝大家都能获得心仪的Offer。


这篇面经在我看来还是挺优质的,应该会对大家有一点参考意义,马上要面向金九银十了,小编也是整理了一份Java全栈知识点总结以及面试题总结内容涵盖: Java、 MyBatis. ZooKeeper、Dubbo、Elasticsearch. Memcached、Redis、MySQL、Spring、 Spring Boot、Spring Cloud、RabbitMQ、 Kafka、Linux等技术栈(查漏补缺看这一份就够了!)总结的有不全的地方还望各位读者老哥海涵,内容如下:

篇幅限制不能把全部内容展示出来,需要获取这份Java全栈知识点总结以及面试题总结的老哥,可以点击此处来获取就可以了!

全栈知识点

  • 目录全览

  • JVM

  • JAVA集合

  • JAVA多线程并发

  • JAVA基础

  • Spring 原理

  • 微服务

  • Netty 与RPC

  • 网络

  • 日志

  • Zookeeper

  • Kafka

  • RabbitMQ

需要获取这份Java全栈知识点总结以及面试题总结的老哥,可以点击此处来获取就可以了!

  • Hbase

  • MongoDB

  • Cassandra

  • 设计模式

  • 负载均衡

  • 数据库

  • 一致性算法

  • JAVA算法

  • 数据结构

  • 加密算法

  • 分布式缓存

  • Hadoop

  • Spark

  • Storm

  • YARN

  • 机器学习

  • 云计算

需要获取上面展示的Java全栈知识点总结以及面试题总结的老哥,可以点击此处来获取就可以了!

面试专题

  • 目录总述

  • MyBatis 面试题

  • ZooKeeper 面试题

  • Dubbo 面试题

  • Elasticsearch 面试题

  • Memcached 面试题

  • Redis 面试题

  • MySQL 面试题

  • Java 并发编程

  • Java 基础面试题

  • Spring 面试题

  • 微服务 面试题

  • Linux 面试题

  • Spring Boot 面试题

  • Spring Cloud 面试题

  • RabbitMQ 面试题

  • kafka 面试题

需要获取上面展示的Java全栈知识点总结以及面试题总结的老哥,可以点击此处来获取就可以了!

相关文章
|
uml
状态机
首先需要考虑涉及到哪些状态节点和哪些事件,如何方便状态节点的获取、状态节点如何串联起来呢?串联的方式下,如何拿到下一个状态节点?如果基于角色,如何实现? 我们知道工作流可以实现基于角色进行流程的流转,但是此时我们涉及到事件和状态,会出现多个分支,如果使用工作流实现,流程处理上,比如activiti上,可能比较复杂,因此考虑比较轻量级的状态机来实现的话,相对来说要方便一些。
1561 0
状态机
|
6月前
|
存储 Ubuntu Linux
内存卡格式化必看!4个格式化工具与注意事项
今天就给大家推荐几款经过实测的内存卡格式化工具,它们不仅使用简单、支持多种格式,而且在修复损坏卡方面也表现稳定,是实用性与安全性兼具的好帮手。
|
11月前
|
Shell 网络安全
2024年终总结:选择错误、加班三月、降薪、面试无果...
卷福同学回顾2024年,反思“选择大于努力”的重要性。年初因错误选择,导致一年都在调整。从阿里离职回到武汉国企后,发现二线城市工作机会有限,成长空间小,且加班严重、降薪明显。尽管尝试副业和面试大厂,但进展不顺。最终意识到选择至关重要,未来将继续努力提升专业技能,寻找更好的发展机会。
301 70
|
存储 分布式计算 Hadoop
分布式计算框架在大规模数据处理中的应用
【8月更文第18天】随着大数据时代的到来,对海量数据进行有效的存储、处理和分析变得越来越重要。传统的单机系统已经无法满足PB级别数据集的需求。分布式计算框架,如Apache Hadoop和Apache Spark,成为了处理这些大规模数据集的重要工具。
1088 0
|
设计模式 前端开发 JavaScript
20个GitHub仓库助你成为React大师
20个GitHub仓库助你成为React大师
405 0
|
人工智能 自然语言处理 机器人
谷歌AI Gemin怎么使用?Gemini国内使用指南!(2024.8.19)
从自然语言处理(NLP)到对话生成,AI语言模型已经成为科技界的一个重要组成部分。在众多杰出的AI语言模型中,Gemini凭借其卓越的性能和广泛的应用而脱颖而出。作为谷歌旗下的多模态AI巨头,Gemini融合了最先进的语言处理技术,为用户提供了无与伦比的语言理解和生成能力。
|
机器学习/深度学习 人工智能 小程序
一文秒懂ChatGPT官方提示词最佳实践(中)(一)
一文秒懂ChatGPT官方提示词最佳实践(中)
一文秒懂ChatGPT官方提示词最佳实践(中)(一)