这里说明一下我是投的阿里淘系技术部,至今已经面了阿里四面,四次都是电话面试,面试体验都很好,即使问到你不是很了解的方面了,面试官会给一些引导,甚至也会悉心给你讲解。
我是8月22号下午一面的,一面面试官基本是按照我的简历上面的,感觉很是幸运。

一面链接:面经:阿里二面自我剖析—Java岗(50分钟)
三面链接:面经:阿里三、四面及HR面自我剖析—Java岗(80分钟、30分钟、15分钟)

我:自我介绍大学至今所学

作为一个应届本科生想进阿里不是那么容易,所以大学期间都学了什么技术,参加了那些竞赛都要说出来,展现自我的风采。

面试官:本科到现在比较擅长的技术点

我:最近实现了一个简单的Tomcat

既然问到了擅长的技术点,就要把自己的亮点展现给面试官,很普通的技术,大家都会,也就没必要录用你了。

面试官:说一下Tomcat原理及手写细节

我:Tomcat的原理简单描述

这里我就不描述了,等后续我会把搭建一个简易的Tomcat整个流程整理出来一篇博客

面试官:你用了netty代替socket,那你对netty了解多少

我:介绍自己了解到的netty知识

面试官:netty中NIO的实现原理

我:这里回答的不是很好

因为netty是从网上找的来代替socket,本身对netty了解感觉也不是很透彻,就大致介绍了netty用了NIO,NIO是非阻塞的,由Channel通道、缓存Buffer、Selector选择器对象组成等

面试官:你的Tomcat怎么把Java类文件加载过来的?

我:java加载文件,classloder

面试官:Tomcat怎么把应用的文件加载出来

我:自己写的嘛,所以把包的路径固定了,根据固定路径去加载我的文件

面试官:Java并发相关,hashmap了解,那concurrenthashmap了解吗

我:hashmap、hashtable、concurrenthashmap介绍和区别,重点讲解concurrenthashmap

面试官:hashmap为什么是线程不安全的?

我:详细介绍hashmap产生死循环的过程

到现在我也面试一些公司,感觉hashmap、hashtable、concurrenthashmap,这是必问的知识点,所以一定要牢牢掌握

面试官:volitail和synchronized了解吗?他们的区别能介绍一下吗

我:介绍了volitail,介绍了synchronized从无锁升级到重量级锁的过程

面试重点锁:jvm方面的锁synchronized和继承Lock接口的锁,也要很清楚的了解

面试官:jvm相关知识,full GC发生的原因可能有哪些?

我:老年代满了、大对象将要进入老年代,老年代空间不足、元数据区满了。

jvm垃圾回收算法等方面的知识也是面试常问的

面试官:MySQL常用的两个底层引擎,知道区别吗

我:innodb和myisam,介绍区别

基本说到数据库,数据库索引和数据库是引擎是必问的点

面试官:一个服务怎么来选择是用SQL还是noSQL?假设有1百万行数据,用户会对数据做随机查询,没有明显的数据热点

我:我说是用SQL

面试官:为什么用SQL,不用redis

我:1百万条数据,算是数量多的数据了,SQL可以轻松抗住的。但是1百万,Redis也是可以的(这里我不是很清楚为什么,面试官很好的给了解释)

面试官:Redis是作为缓存存在,大部分是用于热点数据存储,如果没有明显热点数据,用Redis的用处不大,所以一般会采用SQL,如果用Redis来抗住这样存储的量的话,需要一个相对较大的存储空间来给数据库抗压,但如果说我们考虑到成本不能用太多的Redis内存存储的话,那么他本身对于缓存来抵挡热点功能的话,起不到太多的作用,这时可能就是打入MySQL缓存会好一些,这算是一个技术选型上面的考量

面试过程中有难度的一个是考算法,另一个就是场景题,从场景题的回答中就能看出我们是不是真的把这些知识牢牢掌握并且能够应用于实际中,并且要考虑诸多因素来进行分析,毕竟学了理论最终还是要应用的

面试官:http和https之间有什么区别吗

我:介绍了http在传输层和http的缺点,从而引出https,以及https如何弥补了http的缺点

面试官:在这个基础上听过http2协议吗

真正热爱技术的人会经常去关注一些业界新兴技术的,因为互联网时代技术迭代太快了,我们要时刻关注新技术,学习新技术

我:不是很了解,但是说了一些

面试官:这是业界最近出来的,可以了解一下

(这时已经过去20分钟了,技术方面感觉没有发挥好,一些知道的没有很好的表达出来)


开始说项目了

面试官:介绍一个你认为做的一个最大的最有难度的项目吧

我:项目介绍三分钟

这里还是把我的项目背景简单介绍一下吧:

河北大学大型仪器论证系统,我们学校有一个实验办部门,管理着学校各种大型贵重实验仪器的采购,一旦有实验室需要购买,就要填写很多申请信息交到实验办,然后实验办人员再通知相关专家统一时间来实验办进行申请论证,实验办人员根据专家给出的评审结果决定是否同意采购。这个过程太麻烦,于是我们就做了一个线上系统来缓解这些麻烦。首先这个系统涉及三个角色,实验办人员,申请者,专家,申请需要采购仪器的时候就去系统发起申请,填写相关信息,填完完信息后,实验办人员首先进行一个初筛,不通过可以直接驳回,如果能通过就可以安排专家进行论证,并且短信通知专家,专家会对该申请从不同方面进行打分,并且可以对申请者进行提问,每一次专家提问或者是申请者回答专家的问题,都会有对应的短信提醒,等所有专家论证结束了,实验人员会参考专家打分给一个总评,并决定是否同意采购

这里一定要介绍最能拿的出手的项目,并且在介绍项目的过程中展现我们对于业务的把控能力,攻克了那些技术难点,担任什么角色,在项目里面学到了什么,有了什么成果。

面试官:技术上的难点

我:技术难点的话有一个是角色权限校验、阿里云的短信接口、调用微软的在线预览

面试官:说说对spring-boot的了解

我:spring-boot这个框架是基于spring框架的,我是先介绍了AOP和IOC

对于spring框架AOP和IOC是基本要了解的,也算是框架的核心

面试官:另外一个项目,主要负责了什么

我:个人独立完成的,工期及技术上难度不大,从需求分析到原型图、数据库设计以及编码全是个人完成

面试官:这个项目有一个前端app,你的APP和服务端是如何通信的

我:通过http链接

面试官:长链接还是短链接?

我:短链接

另外一个项目确实是做的时间比较长,有些细节都忘了,所以面试前把我们做过的项目重新过一遍是很重要的

面试官:GitHub上有开源项目吗,有参与开源项目吗

我:我们实验室是用的GitLab

面试官:我看你CSDN写了很多博客都是你自己的东西吗

我:(这里是很开心,面试官看了我的博客)确实是自己写的,也有一部分是转载的

阿里是很注重个人能力的,很多东西只靠自己说还是没有太大的说服力,所以我们有实际的东西给面试官来看是最好的证明

面试官:我看你博客也写了一些算法相关,问一个算法。假设一个业务场景,比如说百度地图,需要你来实现从A地点到达B地点,中间可能需要走路、乘坐公交或者其他交通方式,这个导航功能你要怎么设计?

我:首先是想到了图,其实对图的了解不深,面试官只要求说一些大概思路。想到了迪杰特斯拉算法、弗洛伊德算法、广度优先遍历这些来查找几条可行的路径。比如我们的地图,有多条线路,有时间最短、换乘最少、走路最短这些要考虑

对于图这种数据结构,课堂上数据结构学过,私下并没有做过多的了解,所以感觉回答的不是很理想

面试官:有参加过一些竞赛吗,有获奖经历吗

我:讲了大一参加的一个人脸识别国家级项目

还是那句话,想进阿里的人很多,你要方方面面优秀了,阿里才会去认可你,所以我们在校期间有精力的话尽量多参加一些比赛竞赛吧,我四面的时候这方面就很难受

面试官:假设在拍脸的时候,镜头前有一个真实的人脸,后台数据有一些人脸的照片,你是怎么匹配到镜头前这个人就是数据库中的某个人的

我:我们当时是调用的face++接口,他的原理当时是根据人体面部68个点来进行匹配,并且我们在拍照的时候要求张嘴,扭头来分辨这是一个活人而不是照片,我记得我们当时是达到了80%多的一个匹配度

由于这个项目是大一的时候参加的,过去都两三年了,具体的内容很模糊了,给面试官说的也没有太细

面试官:OK,我没有问题了,你有什么想问我的吗

我:问了阿里的rpc框架,日志

面试官:面试官对于我的提问都很认真的做了回答

一面至此结束,面试官的问题基本都回答上来了,只是有些回答不是很好,但是阿里面试官都是很认真的面试你,这也是阿里面试官的一个优点,不论你面试的怎么样,不论你的问题是多么幼稚,他们都会很认真的回答你,以一种平等的身份和你沟通

期待锦鲤!!!

面经:阿里一面自我剖析---Java岗(40分钟)相关推荐

  1. 面经:阿里二面自我剖析---Java岗(50分钟)

    一面链接:面经:阿里一面自我剖析-Java岗(40分钟) 三面链接:面经:阿里三.四面及HR面自我剖析-Java岗(80分钟.30分钟.15分钟) 二面是8月28号面的,有些激动.这次面试是依托项目来 ...

  2. 面经:阿里三、四面及HR面自我剖析---Java岗(80分钟、30分钟、15分钟)

    一面面经链接:面经:阿里一面自我剖析-Java岗(40分钟) 二面面经链接:面经:阿里二面自我剖析-Java岗(50分钟) 三面是8月29号,即二面的第二天就三面了,三面就是主要问的项目了.四面是9月 ...

  3. 阿里云基础设施事业部Java岗、腾讯TEG后台开发岗面经(4.22更新,拿到AT双Offer)

    阿里云基础设施事业部Java岗.腾讯TEG后台开发岗面经

  4. 字节/阿里/ 百度2021年Java岗发布+最新内部面试题

    2021刚刚启程,各互联网大厂便发布了一大波优质Java岗,平均薪资总包都在40w左右,你心动了吗?下面给大家列出几个具体的岗位及要求. 此外,在文末还有分享:由各大厂面试官整理的字节.阿里.百度Ja ...

  5. 阿里面试官内部题库,阿里发布2022年Java岗(正式版)面试题

    阿里巴巴2022年Java架构师岗面试题(正式版) 这不马上就是金三银四的面试跳槽季了嘛,小编也是通过一些小手段为大家拿到了一份阿里巴巴2022年Java架构师岗面试题(正式版)现在分享给大家,这份资 ...

  6. 阿里互联网一线大厂Java岗面试题库(2022年版)这次38k 稳了

    前言 本文是为了帮大家快速回顾了Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果. 本来想将文件上传到github上 ...

  7. 阿里蚂蚁金服Java岗330道面试题(性能调优+微服务+并发编程+开源框架+分布式)

    前言 2019年还有不到2个月的时间就结束了,这一你,你收获了多少?  前段时间一直有粉丝问我,有没有今年一些大厂Java面试题总结?最新抽时间整理了一些,分享给大家,大家一起共享学习! 一.性能调优 ...

  8. 阿里2019实习内推,五轮技术面+一轮HR面,Java岗面经

    在牛客网上获取到很多知识和信息,现在反馈一波,希望能对广大找实习的同学有所帮助. 个人情况:EE方向渣硕,二月末内推了阿里集团某部门Java岗,约三周完成了所有面试. 面经如下: 一面 (简历评估): ...

  9. java epoll select_最新阿里、拼多多、快手Java岗面试题269 道送答案

    Java面试,是对技术知识栈的梳理.考核.复盘 每一次Java面试,其实都是一次学习机会,是对自己技术知识栈的梳理.考核.复盘.我们应该抱着学习的态度,认真对待,找到自己比较薄弱的环节,尽快去查漏补缺 ...

最新文章

  1. 转:中国互联网十五年的22个创新模式
  2. oracle随机日期没有斜杠,收集awk的一些技巧,放到这里以方便今后查阅
  3. 十秒解决开发环境跨域问题——取消浏览器同源策略
  4. Debian7.2上一键安装Jetty
  5. 2013计算机系统导论,【精选】2013计算机系统导论-期末考卷-发布.pdf
  6. 最全2019 AI/计算机/机器人顶会时间表来了,共收录36场会议,投稿冲鸭!
  7. c++ 暂停功能_苹果拥抱Rust,正在将C代码移植到Rust
  8. KVM详解(五)——KVM虚拟机镜像格式
  9. GDI+处理带透明区域的png图片
  10. java类型的对象可以存储属性_重识JVM(一)-类与对象在JVM中是如何存储的
  11. 定义视图函数时,指定具体的监听方法,访问时如果请求的方法没有设置,那么会报方法不允许 --...
  12. cityengine导出fbx
  13. DOS命令里面的EQ、NE、GT、LT、GE、LE分别是什么意思
  14. 软件分享,PicPick中文版 v5.1.4 滚动截图
  15. 了解DPDK——内核NIC接口
  16. Fiddler:显示请求花费的时间
  17. NTP调整系统时间同步
  18. 状态机在马蜂窝机票订单交易系统中的应用与优化实践
  19. 2018年上半年总结
  20. rld在python_关于python:如何使用NLTK tokenizer摆脱标点符号?

热门文章

  1. iOS和Android的app界面设计规范
  2. ORBSLAM2论文翻译
  3. Ural_1671. Anansi's Cobweb(并查集)
  4. 视频号运营玩法;以及视频号引流变现赚钱。丨国仁网络资讯
  5. EtherCAT主站SOEM源码解析----ecx_siiPDO()
  6. k210安装ch210驱动(看着一篇就足够了)
  7. iTextSharp 使用详解(转) 感谢原著作者
  8. java--吸血鬼数的判断
  9. MindMaster思维导图创建流程图
  10. 音频调整测试软件 使用,音频测试-示波器-使用方法