拿到阿里巴巴的实习生Offer就是这么简单

转载自 拿到阿里巴巴的实习生Offer就是这么简单

一、个人简介及面试流程简介

本人本科就读于一个非985非211的一本高校,研究生就读于某985高校,目前研究方向为云计算与大数据。实习内推部门为菜鸟网络,所投的岗位为后台开发Java(包含大数据开发)。

 

这里以个人的面试流程为例进行介绍,本人在面试过程中总共经历了四次电话面试(技术面试)以及一次的现场面试,其中现场面试包含了一轮技术面试和一轮的HR面试。

 

这里不同的人电话面试次数可能不同,当时和我一起去参加面试的小伙伴也有电话面试只有一两轮的。一般现场面试结束后,如果通过了HR面,基本就会在后面给你实习offer(本人情况)。当然也有可能你会再次经历技术交叉面试(同学经历),不过这种情形一般是给你进行的定级面试,基本上没有太大问题。

 

 二、技术面试问题总结

 

这里总结下本人整个技术面试过程中的被问到的技术问题。将从以下四个方面进行介绍:

 

基础知识问题、编程语言相关问题(Java),大数据相关问题以及编程问题。

 

基础知识问题

1、 冯诺依曼体系结构

2、 计算机网络七层模型。

3、 进程的状态转化(进程的三种状态间的基本转换)。

4、 UML图(UML图中的六种关系)。

5、 对象的理解以及面向对象在软件开发过程中的重要性。

6、 软件开发过程中的常用模型。

7、 常用的排序算法特点(时间,空间复杂度)

8、 TCP和UDP简述。

9、 数据库中的范式问题(一般到第三范式即可)。

10、哈希算法的冲突处理方法(可以结合Java中HashMap源码进行分析)。

11、MySQL中的索引(B+树索引)。

 

基础知识问题一般涉及的比较广泛,面试官主要是想考察你的知识面。这里我们不需要太过担心,因为知识点毕竟繁杂,能答出个百分之七十左右基本就没什么问题了。

 

由于基础知识涉及面较为广泛,不好给出详细的书籍,这里仅列出本人平时复习时所用书籍:高性能MySQL, 考研时所用书籍(如王道系列,包括操作系统,计算机网络等)。

 

编程语言相关问题(Java)

1、Python等脚本语言和Java相比的优缺点。

2、Java中线程安全的集合类(会涉及到相关实现原理,即源码问题)。

3、Java虚拟机中的内存划分。

4、Java虚拟集中的垃圾收集过程、垃圾收集算法以及垃圾收集器。

4、Java中的多线程相关(面试官会追问你在实际项目中有没有这种多线程的问题)。

5、Java中的类加载机制。

6、Java中的锁技术(synchronized,lock等)。

7、Java设计模式(可以说出集中自己熟悉的设计模式,面试官一般会追问你在项目中有没有运用到其中的一种或者若干种设计模式)。

8、线程执行start方法后变为什么状态?(就绪状态,这里会让你简述原因)

9、Java 8新特性(一般会询问你当前用的什么版本的JDK, 根据你的回答来询问你有没有了解该版本相对于以前版本所增加的特性)。

10、相关源码阅读问题(如果阅读过源码,这里可以简要和面试官说明一下,会作为加分项)。

 

在编程语言这块内容的问题会问的稍微深一点,面试官会根据你掌握的情况循序渐进。如问你Java中的线程安全集合类,你答出后,面试官可能会问你用过哪些以及有没有看过相关的源码。如果看过则会让你大致讲一下实现原理。编程语言这部分的问题其实比较集中,如Java虚拟机,Java多线程一般属于必问问题。

这里推荐使用以下书籍:

深入理解Java虚拟机,大话Java设计模式,Effective Java

这里建议大家可以上网看一下大牛的博客,进行总结。Java中的相关实现源码也可以上网看博客学习,如ConcurrentHashMap在Java 7 和Java 8中的实现区别等。

 

大数据相关问题

由于本人主要使用的大数据处理框架为Spark,因此这里所问问题也主要集中于Spark这块。对Spark不熟悉的同学可以跳过Spark的相关问题。

1、 简述Spark的工作原理。

2、 什么时候使用的Spark以及为什么要用Spark。

3、 描述Spark和Hadoop的区别。

4、 描述Spark中的Shuffle阶段。

5、 描述Spark的容错处理机制。

6、 描述Spark中的CheckPoint()以及使用场景。

7、 描述Spark对于倾斜数据的处理方法。

8、 数据库和数据仓库的区别(可能会根据你的回答来进一步问你业务上的问题,如支付宝上面的这种支付实时数据是存放在哪里的等等)。

9、 用过哪些其他的大数据框架。

10、自己设计分布式的软件框架,应该考虑哪些因素。

11、Spark源码简介(这里主要问你有没有看过源码,看过的话面试官会继续让你简述)。

 

大数据这块的主要问题都集中在Spark,这里介绍下本人阅读的相关书籍:

Spark快速大数据开发,图解Spark核心技术与案例实战

Spark大数据处理技术、应用与性能优化

 

如果有同学投的是大数据岗位,最好能熟悉某一个大数据计算框架,并且能够阅读相关源码。熟悉一门大数据计算框架可以让你在面试中加分很多,所以建议大家能够花时间来掌握一门大数据计算框架。 

 

编程问题

本人整个面试过程中的编程问题不多,主要有以下四个编程问题。

1、 简述如何寻找一棵二叉树的最大子树。其中二叉树中的节点值有正有负,二叉树的最大子树定义为该子树中的节点值之和在所有子树中是最大的。(电话技术面)

2、 给你一篇博客,如何找出这篇博客中的违禁词。(本人当时答得是分词技术加哈希表。最后面试官追问如果某些词分不出来的话怎么做。由于本人对这块了解的不是很深,简要回答后面试官也没有继续追问下去。)(电话技术面)

3、 手写一个Java程序,使得执行该程序必然发生死锁(程序可以非常简单,写出大概的逻辑就行,最终需要向面试官解释为什么会发生死锁)。(现场技术面)

4、 给你一个实际业务需要,要求用Spark来解决。这里询问的问题比较简单,但是建议你最好能够全面考虑。

 

推荐书籍:剑指Offer、

推荐刷题网站:牛客网、LeetCode

 

项目问题

面试官一般对于我们所做的项目非常感兴趣,我在五轮技术面试过程中,面试官都针对我所做项目进行了询问。由于不同人的项目有所不同,这里不再详细说明项目问题。简单给出以下比较通用的问题。

1、 项目简介以及你在项目中的角色。

2、 项目中你所遇到的难点以及你是怎样解决的。

3、 如果让你再次优化项目的话,你将从哪些方面进行考虑(这里可以考虑代码整体的规范性,重用性等)。

4、 对于这种大数据开发项目,我们应当选择哪一种Java虚拟机以及为什么选择这种虚拟机。

5、 通过这个项目你学到了什么。

HR面试问题

 

有些同学以为过了技术面,到了HR面就万事大吉了,其实不然,HR面也是非常重要的。我身边也有一些小伙伴在HR面时被刷了的,因此小伙伴们一定要对HR面试引起重视。这里我列出本人HR面时所被问到的问题。

 

 

1、 为什么读研?读研给你带来的好处是什么?

2、 除了阿里,你还投了其他哪些公司?如果让你和阿里在这些公司里面选一个,你会选阿里吗?为什么?

3、 本科时拿到过offer吗?为什么不去?

4、 你觉得你最大的优势是什么?

5、 说一个至今为止让你印象最深的项目并谈谈原因。

6、 如果这次你被刷了,你觉得最大的原因是什么?

7、 如果你进入了阿里,你的职业规划是什么?并且你现在为你的规划做了哪些工作?

 

HR面时基本不会涉及到技术,大多都是和你谈一些生活或者以后的发展规划。这里大家在和HR沟通时尽量放轻松,不要太紧张。HR面结束后,HR也会让你询问他一些问题,这时大家可以询问一下和自己以后工作相关的问题以及自己所在部门的业务需要等。

个人面试心得总结

 

在面试过程中,我们应该保持谦虚,即时有些东西自己掌握的很清楚,也不要表现出那种恃才傲物的感觉。对于有些知识点自己如果确实不清楚或者掌握的不牢固时,不要不懂装懂,应和面试官表达清楚自己对这方面知识的欠缺并且要表现出自己以后会去弥补这些知识点。一般在面试结束后,面试官会问你有没有问题要询问他,这个时候建议大家一定要去和面试官沟通,询问自己面试过程中的不足。这样不仅会增加面试官对你的好感度同时也会让你在以后有更加针对性的复习。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[译] RESTful API 设计最佳实践

https://juejin.im/entry/6844903503953920007 [译] RESTful API 设计最佳实践 阅读 8779 收藏 0 2017-10-16 原文链接: segmentfault.com 原文:RESTful API Design. Best Practices in a Nutshell. 作者:Philipp Hauer 项目资源的URL应该…

Git(笔记)

版本控制 版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。 实现跨区域多人协同开发追踪和记载一个或者多个文件…

做到我这样,你也能拿到京东Offer

转载自 做到我这样,你也能拿到京东Offer 最近,春招已经基本接近尾声了,我找了几位拿到名企Offer的粉丝,请他们总结了面试经验,近期会分批的推送给大家。希望给那些正在准备秋招的同学提供些帮助。这是一篇7000字的长文…

迁移传统.net 应用到.net core [视频]

.net core是.NET技术的未来,这一点正在被越来越多的公司认识到,但是如何将传统的.NET应用迁移到.NET Core是一个迫切需要解决的问题。 对于传统.NET应用来说,使用和不使用.NET Core可能并不能直接给企业带来好处,相反使用中遇到了…

POI

Poi(适合小数据量) Apache POI 官网:https://poi.apache.org/ POI是Apache软件基金会的,POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。 所以POI的主要功能是可以用Java操作Micr…

因 Redis Key 命令不规范,导致熬了一个通宵才把Key删完了!

https://mp.weixin.qq.com/s/7FL0nUTk6aFmAb2J__5Mtw 因 Redis Key 命令不规范,导致熬了一个通宵才把Key删完了! 点击关注 👉 Java面试那些事儿 9月3日 # 前言 由于有一条业务线不理想,高层决定下架业务。对于我们技术团队而言&a…

使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器

介绍 以前曾试过在app中整合一个可靠又快速的web浏览器吗? 在本文中,你会学到如何轻松地将奇妙的CefSharp网页浏览器组件(基于Chromium)集成到你的C# app中。 然后,你可以使用此web浏览器: 给用户提供一个集…

从入门到熟悉 HTTPS 的 9 个问题

转载自 从入门到熟悉 HTTPS 的 9 个问题 Q1: 什么是 HTTPS? BS: HTTPS 是安全的 HTTP HTTP 协议中的内容都是明文传输,HTTPS 的目的是将这些内容加密,确保信息传输安全。最后一个字母 S 指的是 SSL/TLS 协议,它位于 HTTP 协议…

Jexus针对Asp.net core应用程序的六大不可替代的优势

Jexus 是一款运行于 Linux 平台,以支持 ASP.NET、PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器。 1,配置简便:在Jexus上,Asp.net core只是Jexus上的一个“站点”,因此,只需在Jexus…

安装docker遇到的坑 Could not resolve host: download.docker.com;

我写的 1.编辑网卡 vim /etc/sysconfig/network-scripts/ifcfg-ens33 2.增加这三行 DNS18.8.8.8 DNS2114.114.114.114 PEERDNSno 3.最后重启网络service network restart 即可。不行就重启虚拟机 4.设置稳定的源yum-config-manager \ --add-repo \ https://download…

EasyExcel(笔记)

常用场景 1、将用户信息导出为excel表格(导出数据…) 2、将Excel表中的信息录入到网站数据库(习题上传…) 开发中经常会设计到excel的处理,如导出Excel,导入Excel到数据库中! 操作Excel目前比…

细说Redis监控和告警

对于任何应用服务和组件,都需要一套完善可靠谱监控方案。尤其redis这类敏感的纯内存、高并发和低延时的服务,一套完善的监控告警方案,是精细化运营的前提。本文分几节,细说Redis的监控和告警:1.Redis监控告警的价值2.R…

curl和wget的区别和使用

https://www.cnblogs.com/wyaokai/p/11947379.html https://blog.csdn.net/IT_hejinrong/article/details/79361095 curl和wget的区别和使用 curl和wget基础功能有诸多重叠,如下载等。 非要说区别的话,curl由于可自定义各种请求参数所以在模拟web请求…

vmware启动多个虚拟机

启动顺序 这样4个虚拟机就启动了 也够使用了 (如果出现某个虚拟机不能启动貌似多重复全套流程就可以了) CentOS 64 位5swarm20201006_3_配合第三章register CentOS 64 位6 CentOS 64 位5swarm20201007_5_第三章学完的镜像 CentOS 64 位5swarm20200927 0)关闭…

怎样在Redis通过StackExchange.Redis 存储集合类型List

StackExchange 是由StackOverFlow出品, 是对Redis的.NET封装,被越来越多的.NET开发者使用在项目中。绝大部分原先使用ServiceStack的开发者逐渐都转了过来,由于SS在其新版中不再开源,并对免费版本有所限制。 实际问题 那么用.NET的…

Java爬虫小测---ElasticSearch

项目搭建 1、启动ES,和head-master,用head-master建立索引 不建立也没事,添加数据的时候会自动创建 2、导入SpringBoot需要的依赖 注意:elasticsearch的版本要和自己本地的版本一致!所以还要在pom里面添加自定义版本…

Gradle的安装与配置

https://www.cnblogs.com/NyanKoSenSei/p/11458953.html Gradle的安装与配置 1. Gradle简介 Gradle是源于Apache Ant和Apache Maven概念的项目自动化构建开源工具,它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置面…

使用 Roslyn 编译器服务

.NET Core和 .NET 4.6中 的C# 6/7 中的编译器Roslyn 一个重要的特性就是"Compiler as a Service",简单的讲,就是就是将编译器开放为一种可在代码中调用的服务, 通常在工作流引擎 或是规则引擎中都需要一项功能是计算表达式&#xf…

Rest风格---ElasticSearch

Rest风格 5.1 简介 RESTful是一种架构的规范与约束、原则,符合这种规范的架构就是RESTful架构。 操作 methodurl地址描述PUTlocalhost:9100/索引名称/类型名称/文档id创建文档(指定id)POSTlocalhost:9100/索引名称/类型名称创建文档&…

IntelliJ IDEA如何导入Gradle项目

https://blog.csdn.net/wangdong5678999/article/details/70255451 IntelliJ IDEA如何导入Gradle项目 栋先生 2017-04-20 10:14:03 95942 收藏 分类专栏: 其他 文章标签: idea intellij idea gradle 版权 最近学习Gradle,本文来重点介绍…