一面链接:面经:阿里一面自我剖析—Java岗(40分钟)
三面链接:面经:阿里三、四面及HR面自我剖析—Java岗(80分钟、30分钟、15分钟)
二面是8月28号面的,有些激动。这次面试是依托项目来考察我的技术点,主要偏优化方面和底层技术原理方向。下面直接上二面的内容吧

我:自我介绍

因为每次的面试官是不一样的,即使上一位面试官对于你有一些面试记录,但那只是大概,所以每换一个面试官,我们必须认真的做自我介绍

面试官:项目里面一个用户多角色问题是怎么解决的?

这里面试官就针对我做的我们河北大学的一个项目进行了探讨

还是把项目简单介绍一下吧:

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

我:应用了spring-security框架来解决的

这里具体说了一下是如何应用操作的,涉及到代码层级。面试官会跟着我们的思路仔细询问的,所以一定要对自己的项目掌握到位

面试官:在登录的时候做了哪些安全方面的防护
我:账号、密码常见的输入判断;每个接口对身份进行校验,防止越过前台直接进入后台发生安全隐患

面试官:比如初始账号,密码你们是用的教师工号什么的,别人很容易知道用户的账号和密码的,如果要你再去完善一些,你会去做哪些安全
我:可以利用老师的邮箱,统计老师的邮箱信息,当我创建了老师的账号后,就会随机生成一个复杂的密码,发送到老师的邮箱

面试官:这个项目里面应用了阿里云的短信接口,它是如何对接的
我:阿里云申请模板—获得短信签名—在短信接口里面配置短信签名和模板

面试官:现在很多产品在登录注册时会发送验证码,因为一些网站被利用,导致短信轰炸用户,从你的角度来看,如何做能更安全一些
我:我觉得现在的动态验证码就用保护安全的一个作用,可以防止一些爬虫来获取用户的账号信息;也可以利用咱们的邮箱,手机号码登录时,如果检测到异常,可以发送给我们的邮箱提醒,相当于有一个报警机制

这里就有点考验我们的综合能力了,脑子里是否有东西,是否能应用于实际,是否能及时想出来组装一个方案来给面试官一个不错的答复

面试官:就登录来说,用户量如果激增的话,系统哪些方面可以优化
我:增加缓存优化;尽可能的对接口进行校验;可以搭建集群

当我们回答面试官问题的时候,不要说只是简单的回答这个问题,我们要说明怎么做,为什么这么做,这么做有什么好处,还有没有其他的方案可以做planB

面试官:如果你的系统宕机了,就OOM了,如何排查
我:查看日志、检测服务器内存、对服务器资源做一个预警机制

然后面试官就问起了我的第二个项目,这里也是把第二个项目简单说一下吧,这个项目做得比较早,相对之前讨论的项目来说比较简单,但是前端+后台+数据库全是我自己一个搞定的

项目介绍:

早教课程管理系统:因为需要方给的时间比较长,业务逻辑也比较简单,就让我自己去做这个项目。从一开始的需求分析,形成需求文档,数据库设计,原型图设计,到真正的前后台开发。前台是用ionic实现的一个APP客户端,供教师和学生家长使用,后台是用spring-boot框架来实现的。

面试官:做这个项目的时候遇到了什么困难吗?
我:这里我主要说了APP客户端的实现,因为Android不熟悉,就用了一个也不熟悉但是简单易学的ionic来实现的客户端,自学加参考,做出了这个APP

面试官:这个采用http链接的话会有一些延迟吧,你是用的什么HTTP链接?
我:这里我回答的是采用了一个长链接,又回答了长链接和短连接的区别和优缺点

面试官:你这个系统用了长链接,但是有不足,可以怎么去优化
我:首先把长链接可以改为短链接,因为实际情况用这款APP的人不多,而且也不要求及时性;或者长链接情况下做一个时间的限定,一定时间内没有链接的话,就自动变为短链接;可以采用线程池来解决

面试官:这两个项目的数据库在设计中应用了哪个范式?考虑是什么?
我:是应用了第三范式

数据库范式这个确实在学校学过,当时突然问这个,有一点没反应过来,思考后还是给了解答

面试官:内连接是什么
我:根据自己的理解,举例解释

我们对于知识的理解能够用自己的话语简介明了的表达出来,这算是一个学的相对到位的表现

面试官:你做的这两个项目,就数据库方面来说,还有什么可以优化的地方
我:这里考察我们对数据库优化的了解,根据实际项目情况来回答

面试官:MySQL数据库的索引算法是什么?说一下

MySQL数据库的索引算是面试高频考点

我:B+树索引,这里我将其与B树做了对比讲解,并说了采用B+树的好处,这里还是举例说明简单明了

面试官:我看你项目用到了Mybatis,那么它和Mybatis-Plus有什么区别
我: Mybatis-Plus是一个Mybatis的增强工具,它在Mybatis的基础上做了增强,并不做改变。我们在使用Mybatis-Plus之后既可以使用Mybatis-Plus的特有功能,又能够正常使用Mybatis的原生功能。Mybatis-Plus是为简化开发、提高开发效率而生,它提供了一些插件,比如SQL性能监控、乐观锁、执行分析等。以及Mybatis的一个原理简单说了一下

面试官:那进程间的通信都有哪些方式?

这里是考察的Java内存模型

我:管道、信号量、消息队列、共享内存

面试官:你在浏览器输入淘宝域名到返回来你看到的页面,这样一个网络请求的过程是怎么样的?
我:根据自我理解并以一个spring项目为例来讲解的网络请求的整个过程

面试官:Java线程池的实现原理是什么样子的?
我:线程池配置的主要参数及线程池原理讲解

面试官:(我论证系统那个项目在Linux系统上)假如一天你的Linux系统磁盘空间满了,你要怎么去通过排查来定位
我:查看日志、通过命令查找大文件、

(此时已经过去30多分钟了)

下面就是聊学校的经历了,因为我在校期间加入了河北大学第一技术社团------网络中心;一个是在我们院学生会干了三年,聊了些这些活动中遇到的问题,面试官给了一个场景考察我的处理能力
以及我课下是如何学习的。更加幸运的是面试官看了我的CSDN博客。

面试官:最近有在了解一些新型技术吗?
我:对我来说RPC算是新技术了,并且最近在学习RPC,依据自己的了解进行了讲解

面试官:以前的一个学习规划是什么样子的
我:过去及未来的学习规划都给了一个自己的目前规划,以及有做架构师的意向

面试官:一个优秀的架构师应具备哪些方面?
我:技术加业务多方面考虑回答

然后就是面试官解答环节,针对一些技术通过面试官的解答有了进一步的了解

此次面试整体感觉较好,面试官也很棒!

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

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

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

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

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

  3. 专科小伙豪取三杀,斩获阿里、京东和蚂蚁Java岗offer的原因找到了!

    除了本文提到的这些我还整理了其他大厂的Java岗最新面试题以及面经,知道你们喜欢电子版,所以都做成了PDF,免费分享给大伙,文末有领取链接,需要的朋友直接点击链接领取就行 阿里一面 说一下ArrayL ...

  4. 2023阿里,字节跳动,JAVA岗(一线企业校招、社招)面试题合集

    前言 以下面试题全属于一线大厂社招以及校招的面试真题,各位在做这些题目对照自己的时候请平凡心对待,不要信心受挫.其实 做为致力于一线企业校招或者社招的你来说,能把每个知识模块的一小部分问题去深入学习和 ...

  5. java二面_快手Java面试题分享,一二面(面经面试题附部分答案)

    下面要给大家分享的是一个快手的一面和二面的Java面经,其中包含了具体的面试流程.面试题以及部分面试题答案. 笔试: 总的来说,难度还是要比美团低一些,前面的三道题都并不是很难,只有最后一道题大概是l ...

  6. Java基础50题(3) 21~30题

    2018.3.25 Java基础50题系列源码已上传到我的github仓库,有需要的可以自取,欢迎大家提出建议 https://github.com/Lawliet0717/Java-foudamen ...

  7. 二本4年Java经验,五面阿里艰苦经历(定薪45K),回馈一波心得体会

    8月准备跳槽,先后面试了各大小公司,拿了一些offer,有阿里,滴滴,快手,达达,得物等公司.面试的公司大部分都能过,所以这里给大家分享下自己的经验,也给自己做个归档,希望能给正在准备跳槽,找工作的朋 ...

  8. 阿里二面准备(Java 研发),精心准备200题(含答案)收割 offer

    这篇文章我花了两天编辑,是目前我能找到的几乎所有的问题.所以你们如果能全部掌握,基本就能收割 offer 了.时间有限的话,针对自己的情况优先选最有可能被问到的问题来准备. 文中的200道题大部分都包 ...

  9. 阿里菜鸟二面:高级java面试题和答案!含阿里必考面试题赠送!

    阿里菜鸟一面面试题目: 1.你比较了解的机器学习的算法有哪些,说一下这些算法的过程和区别 2.网络的体系结构分为哪五层,每层分别有哪些协议 3.TCP和UDP的区别是什么,如果想发送即时消息应该用哪种 ...

最新文章

  1. 四十而不惑——DNA测序技术的前世今生和未来
  2. 对模拟int3的探索
  3. Python中print()使用格式示例收集
  4. 一个可视化的retrospective网站
  5. 文件查找---find
  6. centos7python命令_详解Linux Centos7下安装Python的方法
  7. android 获取当前输入法,关于获取安卓手机系统输入法和设置输入法
  8. ArrayList Vector
  9. 十三肝了2晚的《IDEA操作手册-终极秘籍》终于来了...
  10. 关于使用Curvy插件实现物体沿指定路径移动的方法
  11. unity2d自动生成敌人_在Unity 2D中产生敌人
  12. 装了Restorator,打开应用程序,提示不支持此接口的解决方法
  13. 云计算:程序员重回个人英雄时代
  14. hive ddl语法使用详解
  15. oracle账户余额表和明细表,科目余额表与明细账
  16. BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Mode
  17. java se开发web_javaSE web开发 登录思路代码
  18. freemarker字符串替换操作
  19. android简单手电筒,android 简单的手电筒制作
  20. 苹果8plus什么用计算机,iphone8plus怎么把手机投屏到电脑显示器

热门文章

  1. OPA1612AIDR IC AUDIO 2 CIRCUIT 8SOIC
  2. flex实现自定义鼠标
  3. 个税不省,何以暴富?程序员汇算清缴注意事项和要点
  4. linux syscore suspend/resume方法
  5. 操作系统实验读者写者程序源码_我的操作系统梦破灭了
  6. java注解和反射详解
  7. 一个服务器部署一个以及两个以上tomcat时且为htts时教程
  8. HTML简单表格的制作
  9. 如何提高场馆的二次成交率?
  10. 废柴日记7:迟到的『构造最小生成树算法』④