阿里中间件一面:

(在校招正式开始前走的非正式渠道,一面通过了 ,二面校招开始要录入系统,我拒绝了。)

40多分钟,以下顺序可能是乱的:

  • 自我介绍

  • 本科和研究生期间成绩

  • 散列表什么实现

  • 冲突了怎么解决

  • HashMap中扩容和缩容怎么做

  • dfs和bfs区别

  • TCP怎么保证连接的唯一性(答案: TCP的源端口、目的端口、以及IP层的源IP地址、目的IP地址四元组唯一的标识了一一个TCP连接)

  • TCP怎么断开连接(四次挥手)

  • 什么是进程上下文

  • 上下文中要保存哪些信息(憋住了不知道说啥,让我大胆猜,然而也没猜出什么)

  • 什么是物理地址、什么是逻辑地址

  • 逻辑地址怎么转换为物理地址

  • 什么是用户态、什么是内核态

  • 怎么找到链表中倒数第三个节点

  • 两个线程,怎么保证A线程对- -个变星写了之后B线程可以立即看到,有哪几种实现方式

  • 实现一下生产者和消费者模式

  • ArrayList和LinkedList区 别

  • 怎么判断对象可回收

  • 什么是根节点

  • 怼项目,问了好多问题

  • 看我写的有国防专利和国防科技报告,让我讲一-讲

  • 还有部分忘记了

  • 你有什么要问我的吗

总结:简历里写了熟悉操作系统和网络等计算机基础,然后他就问了挺多操作系统和网络的,可惜好几个都没答上来。我问你觉得我哪部分需要再提升,他说基础。

总结2 :为自己简历上写的每句话负责,否则被问出来了, 很尴尬。


 

远算现场一面:

在一间小屋子里,虽说是一-面但是有两轮,没有让自我介绍,很直接。

第一个面试官小哥:

  • 项目中的一个问题让解释一下;

  • 手撕LRU ,不让用现成的方法(比如LinkedHashMap) ;

  • 撕完算法小哥一看还有时间,就问了一下TCP中CLOSEWAIT和TIMEWAIT两种状态;

  • TIME_ WAIT等两倍时间,为什么要这么设计。

第二个面试官:

(貌似是简历面还是项目面的,技术栈不匹配,一直看 我简历感觉问的不多)

  • 介绍各个项目;

  • 微服务架构讲- -下;

  • 页表讲一下;

  • HTTP把知道的讲一下。

总结:

对于一一个问题,可以不问啥答啥,能多扯点就多扯点吧,尤其是面试官不知道问啥的时候,很尴尬。比如问页表,甚至可以扯到页式内存管理、段式内存管理,可以扯到为什么要用段式和页式等等。


 

有赞一面(电话面)

32分钟,对方信号不太好,说的我总是听不太清,体验不咋地。

  • 自我介绍;

  • 大型网站架构常用的方法以及用到的组件;

  • 什么是横向拆分、什么是竖向拆分;

  • 了解过哪些微服务的框架;

  • 使用微服务架构会带来哪些新的挑战;

  • Redis热点问题怎么解决(这里没听太清,他给我解释也没太懂,在这个问题上尬了很久) ;

  • java内存模型; (实际他想问的是运行时数据区,无语.. )

  • 垃圾回收算法,新生代老年代具体运作方式、为什么新生代用复制算法;

  • InnoDB数据模型, B+树具体说说都保存了什么,叶子节点保存了什么;

  • 讲讲java类加载方式;

  • java同步的几种方式;

  • 有没有具体了解过实现的原理(讲了一下synchronized的原理:偏向锁、轻量级锁、自旋锁、重量级锁等)

  • 项目中遇到的困难或一些奇怪的问题;

  • 至今为止是不是没有实习(实验室不让啊没办法) ;

  • 有没有用过GitHub。

  • 居然不让我问问题。

华为一二面

一面

  • 一分钟自我介绍;

  • 进程与线程区别;

  • 多线程要注意什么;

  • 死锁的发生场景;

  • 从打开一台电脑,到浏览某个网页,经历了哪些流程,用到了哪些协议;

  • 说一下判断字符串是否是回文串的几种方法,或效率最高的方法;

  • 无规律的二叉树,每个节点有一一个权值,找到权值和最大的一条路径;

  • 为什么要用jvm ;

  • 垃圾回收算法;

  • 值传递,引用传递;

  • String能不能修改,为什么;

  • 数据库调优;

  • 介绍cloudbu部门&有什么要问我的吗。

  •  

  • 二面:

  • 成绩,获得几次奖学金,几等,年级获得二等的比例是多少;

  • 比赛成绩,复赛为什么成绩下去了,初赛分数高的原因你觉得是什么;

  • 讲一下写的一个专利,有哪些创新;

  • 大型网站架构大概画一下;

  • 微服务和大型网站架构有什么联系;

  • 项目做的挺久的,有多少人在做,现在能不能看到; ;

  • 计算机网络是不是也有了解;平常有没有用过。

  • 什么是tcp粘包,什么是大端序小端序、为什么要有大小端序? (最后说其实没有为什么)。


 

 

大疆一面二面

一面(电话面)

  • 约的16:20电面面试官有事迟迟没有没打来后来跟同学一起出去吃饭刚走 到操场电话来了我说你们先去吃吧然后我就开始了。

  • 自我介绍;

  • 项目介绍;

  • web service怎么设置调用权限(因为我项目里提到web service了) ;

  • 知道哪些数据结构,分别说一下特点 ;

  • 树你平常在哪里用到; ( 我想去摘香蕉的时候? )

  • 数据库水平怎么样,简单的增删查改还是大数据星的调优、视图等(显然只会最简单的==);

  • b/s系统登录怎么实现;

  • cookie , session怎么配合使用, cookie里存的是什么;

  • 对面向对象的理解; (尬聊,面试官听不下去了把我打断了)

  • 有什么问题问我吗(你觉得我哪方面需要提升?我一面能过不? )。

二面(视频面)

  • 介绍最熟悉的一-个项目;

  • 仍然问项目,遇到了什么困难等;

  • 职业规划、业余爱好、最近看了哪些技术书等;

  • 算法题:假如电信需要判断一个号码是不是空号,怎么实现 ( -开始说的hashmap ,面试官说时间复杂度可以,空间复杂度超了,假如只有几兆怎么办?答的布隆过滤器,简单介绍了一下) ;

  • java内存泄露怎么排查,有没有输出过堆信息查看过(没...) ;

  • 有什么问题问我。

总结:

在介绍项目的时候,可能自己比较熟悉,但是对方对此是毫无了解的,因此要换位思考,总结一下怎么介绍给完全不懂的人听,还能让他听懂。


 

 

阿里健康

(最大的遗憾晚上在西湖边上面的阿里健康,凉凉)

面试之前的下午提前约了时间,约的晚上8点,但当时在外边最后还是没能赶回去,在西湖面的,发挥比较差。26分钟。

  • 自我介绍;

  • 你说自己不甘心平庸,平常做了哪些可以体现出是不甘平庸的;

  • 研究生期间主要学了哪些课程;

  • 项目介绍,华为比赛介绍,以后想做算法方向的还是业务和工程方向的,为什么;

  • 说一下排序算法,他们的时间空间复杂度,哪些是稳定的(身边没有条件可以找张写一下,稳定性之类的也没有刻意背过,答得特别烂) ;

  • 说一下你知道的线程安全的类,(又没答好,说了没几个卡住了,主要是不知道

  • countdownlatch这些算不算,感觉应该不算,说道还有好几种阻塞队列,忘记完整的类名。。) ;

  • concurrenthashmap为什么效率高; (每说出一处就问我还有没有, 我甚至把移位代替除法操作都说了, 问我还有没有, 答不上来了)

  • TCP中滑动窗口的作用;

  • 滑动窗口是在发送方还是接收方、如果发送方不维护窗口, 直接根据接收方返回的消息来发送,会出现什么问题;

  • 项目中遇到什么困难,怎么解决的;

  • 项目给你带来了哪些帮助;

  • 有什么要问的。

阿里健康的面试体验非常好,提前预约,问题卡住时说没关系你可以多想一会,没答出来也安慰说没关系,每次都用”您"来称呼我,唉可惜发挥不太好,难受。

分享之前有师兄分享给我的Java面试题与答案

领取方式:需要资料的小伙伴一键三联(点赞+收藏+关注)后直接添加微信:mxh5261 即可免费获取!

 

领取方式:需要资料的小伙伴一键三联(点赞+收藏+关注)后直接添加微信:mxh5261 即可免费获取!