Java开发五面阿里菜鸟驿站架构师,第三面来了一个P10级师兄吊打我,紧张到双腿都打哆嗦!

本文主要是介绍Java开发五面阿里菜鸟驿站架构师,第三面来了一个P10级师兄吊打我,紧张到双腿都打哆嗦!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一面

问:自我介绍

问:说一下你的项目中遇到的难题和怎么解决的

我:(其实我的项目也没什么特别高级的东西,就说了下项目里遇到的bug的解决以及一些功能的实现,其实都是很简单的东西。个人觉得不一定要用多么高级的技术,就算是解决一个小bug或实现一个小功能,把遇到bug时的现象以及怎么去思考并一步步排除仔细说清除,以及自己为什么这么设计,对这么设计的一些理解,面试官应该还是认可的……)

(讲项目的时候,语速比较快,有点舌头打结,后来听内推人说面试官给我评语是紧张,其实我也没怎么紧张……)

问:XX 这个项目主要业务是什么?有实际应用吗?

我:(大概讲了项目的业务,项目没有实际用过,只是去参加学校的创新项目比赛,所以就说实话了)

问:是去参加创新比赛,那你觉得这个项目的主要创意在哪?

我:其实我觉得没什么创意……

面试官:(笑)

我:(笑)

问:你在项目里负责什么?整个项目的设计是你做的吗?那对项目整个架构设计什么的能讲一下吗?我:这是我第一次作为项目技术负责人。对。(其实也就是一个 WEB 的 APP 项目,ssm 的 Controller 、Service 、DAO 分层,然后说了下自己负责模块的一些设计什么的……)问:你刚刚说你这个项目都是 http 请求应答模式,那你有没有考虑其他模式?

我:(这里说了下 socket 长连接模式,然后说了下自己对请求应答模式以及长连接的优劣和适用场景的理解,扯到了 http 报文头部、nagle 算法、心跳机制什么的,然后又开始个人对心跳机制的理解……)

问:(大概是觉得我再扯就扯到印度去了,打断了我……)嗯嗯好,但是现在你去实现长连接的话,会这样从头开始写吗?

我:(提到 Netty ,之后面试官也没有问 Netty)

问:http 有什么特点?

我:明文传输……(然后还没来得及说无状态什么的)

问:那你的项目有没有考虑 http 安全问题?

我:(提到 https ,然后说了下原理,怎么保证消息不泄露、不被篡改)不被篡改的实现就是,先把要发送的消息进行消息散列,比如 MD5 ……

问:MD5 ?

我:不是,我只是举个消息散列的例子,……

问:MD5 已经不建议使用了好吗

我:(吞吞吐吐)emmm对我知道 MD5 可以通过碰撞破解,不安全……但是其实一般的项目(正准备说是否安全取决于破解难度与破解收益的理解,加盐什么的……)

问:不建议使用啦,不建议啦(宛如撒娇般的语气,这谁顶得住……)

我:emmmmm好吧(好的,你说什么都对)

(然后好像还问了一些项目相关的其他问题……)

问:说说 JVM 垃圾回收是怎么实现的?可达性分析是怎样的?什么是GCRoot?

我:可达性分析。从 GCRoot 开始遍历,如果某个对象不可达,则认定为垃圾,可以回收。方法区的引用、函数局部遍历、类成员变量什么的……

问:有关 JVM 的 STW

我:主要是说了一下对 STW 的了解,然后提到了并发垃圾回收器

问:说一下了解垃圾回收器,了解最近的垃圾回收器吗?

我:(当时我好像是说,知道最新出来了一个 ZGC ,可以在几 ms 内回收上 T 级别的垃圾,停顿很短什么的,然后说了下 CMS 、G1 ,说了下 G1 回收器替换 CMS 的目标,以及 Region 什么的。但是也没深入地了解过 G1 ,不然还可以说更多,不过面试官也没继续问……)

问:读过什么的源码吗?读过哪些?那你说下 Spring 的 Bean 是怎么管理的吧

我:读过。Spring 、Spring MVC 什么的(好了,接下来要问 Spring AOP 怎么实现的了吧)。(这不科学啊,不是应该问 AOP 怎么实现吗……大概说了下 xml 读取和解析,然后 BeanFactory ,Resource 、 Registry 什么的,Map 保存 beanName、class类型与 Bean 的映射关系什么的)

问:HashMap、HashTable、CurrentHashMap 套餐吃不吃

我:(谢谢招待)

问:TCP 三次握手、状态转移,为什么要三次握手?

我:(具体描述了一下三次握手的过程和状态转移)需要三次握手,不能两次是因为, A 向 B 主动连接时,若第二次握手的消息丢了,B 以为连接已经建立,A 则以为 B 没有收到自己的连接请求,A 会重发连接请求,B 发现序号不对,只能丢弃,B 发送消息给 A ,A 认为连接还没建立,只能丢弃……,不需要四次时因为 B 对 A 的 ack 以及自己的序号可以一起回复给 A(好像叫捎带回复什么的),而(然后也说了下四次挥手过程和状态转移)

问:那为什么要四次分手呢?(笑)

我:(糟了,是心动的感觉……这谁顶得住……我也不想说“分手”啊,是你要我说“分手”我才说"分手“的啊,我也不想跟你分手的嘛……不好意思,我加戏有点多……)关闭连接的时候,A 主动关闭的话,是因为 A 不再需要发送数据,但这个时候 B 可能还有要发送,只能先回复 ack ,等自己发送完数据,再发送关闭连接的请求,也就是第三次挥手……(然后好像顺便说了 close_wait 和 time_wait )

问:你这里说得有点不太清楚,之后最好自己再看看

我:(单身太久,谅解一下)

问:设计模式了解嘛。问问你设计模式吧

我:(具体谈了一下对 模板方法 的理解以及它在 Spring 什么的框架里面的使用,择其好处而吹之)(又谈了下监听者模式以及它在 swing 和 C#、托管C++ 窗体里面的使用,复择其好处而吹之)

之后一些问题时间太久,记不太清了……

二面

这一隔就是 20 天,这谁遭得住……

清明后两天的样子,一个晚上接到电话

问:项目

问:简单算法题,判断数组里是否有和为指定值的两个数

我:(好像是剑指 offer 还是什么的原题?)

问:在学校实验室当部长的事

我:(稍微讲了下经历)

问:学习方式

问:你班上有比你技术厉害的吗?

我:(????)

问:优点和缺点?技术上的优点?问:你说对 WEB 比较熟悉对吧,详细说下跨站脚本攻击XSS

我:(说了下 cookie 、session 、js 注入什么的)

问:你说对 JVM 比较熟悉,说下垃圾回收算法吧

我:(说了下标记清除、复制、标记整理算法,然后详细说了下内存碎片、分代收集什么的的思想)

问:对菜鸟的了解

我:emmmm我知道是跟物流相关的,就是,就是供应链……就是……其实我不是很了解(当场去世……)

问:有什么问题问我

只记得这么多了……问他问题的时候才知道他是 leader ,emmm我这不是二面吗……

三面

面完二面后,内推学长告诉我,接下来有个 P10 要面我……这谁顶得住……

大概两天后接到电话,面试官好像有点忙,面试时间比较短,问得也比较简单……

问:学校上的课

问:项目

问:自学学到了什么?

问:SpringBoot

我:(说了下约定优于配置,@Condition 注解什么的)

也只记得这么多了,不过本来也只有 10 多分钟……估计大佬是真的比较忙……

四面(hr 面)

16号接到电话,要我 18 号去武汉现场面试……这谁顶得住……

自我介绍

实验室经历(这里聊了挺久)

家里情况、意向城市

对菜鸟的了解(咋又是这个问题……物流、就是物流,emmm物流……当场去世……)

有什么问题

五面

面完hr面打算去看看武昌起义纪念馆……

一小时后刚下地铁,接到电话说要我回去再加一轮技术面……

有一种刚高考完后被告知要再加一次高考的感觉……这谁顶得住……

自我介绍

项目

类加载

Class.forName 是否会初始化类(这里我智障了,振振有词地说说不会初始化……感觉要凉。。)

static 块会执行几次?怎么让它执行第二次?(我说用另一个 ClassLoader 来加载……好像不是他要的答案,难道有其他方法吗。。?)

Full GC 发生的条件、怎么设置永久代和堆的大小、怎么减少 Full GC 、JVM 调优

比较熟悉的技术,是否有去了解底层

经过一个星期的漫长等待最终还是拿下了Offer,成功入职阿里菜鸟驿站架构师!我认为现在面试除了需要你自己掌握丰富的技术栈之外,也需要时时刻刻去勤刷面试题,分享一下自刷的面试题库和补充技术栈的PDF吧,祝大家Offer多多哈!

需要全部免费领取全部的学习资料的朋友麻烦帮忙点赞+评论+收藏这篇文章+关注我,然后加小助理VX:YDT929免费领取!

 

 

这篇关于Java开发五面阿里菜鸟驿站架构师,第三面来了一个P10级师兄吊打我,紧张到双腿都打哆嗦!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/243038

相关文章

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c