一直没打理博客园  发现博客园阅读量好大,就把前段时间写的一个面经也搬过来咯,大家一起加油。。。。

作者:小仇Eleven 
链接:https://www.nowcoder.com/discuss/37792 
来源:牛客网

首先讲真,得感谢牛客的讨论区,感谢美团给我面试的机会,感谢帮忙内推的小伙伴,楼主渣渣双非学校小硕,投过简历无数,简历被挂无数,几乎都是石沉大海,所以每次面试都感觉弥足珍贵,本来上周面完就该发个面经的,但想想还是等定下来再写吧,今天收到了电话通知,所以过来发个贴,好了,废话不多说,不管最后去不去mt,先把面经弄出来再说。。。 
技术一面: 
一面基本上面的还算基础 没有过多的刁难 不过问题量特别大 
1、自我介绍 
巴拉巴拉,大致说了下实习和自己平时自己喜欢做的事情 
2、我们先聊聊java基础知识吧,说出Object类的常用方法?

toString(),clone(),线程的三个方法:wait()notify()notifyAll(),hashcode(),finallize(),equals()

大致讲了上面这些个方法 并说了下各个方法的作用。。。。 
3、刚刚说到object的常用方法,这些方法你应该都很熟悉吧,那你说说你对equal和hashcode这两个方法的认识? 
主要谈了下两个的作用 以及 当重写equal方法时候一定要记得重写hashcode方法,然后面试官就问了为什么,然后就继续巴拉巴拉。。。 
然后面试官紧接着问 两个对象如果equals那么这两个对象的hashcode一定相等么 回答是! 那如果两个对象的hashcode相等那么这两个对象是否一定equals?回答 不一定!理由其实 就是 关于 讲重写这两个方法的情况。。。。 
4、多线程用过吧?写过一些demo,那你说说多线程之间的通信,回答用wait sleep notify notifyAll配合使用 然后就问 wait和sleep一样吗?回答不一样,然后巴拉巴拉谈了下,关于对象锁的释放,是否需要唤醒。。。 
5、嗯,刚刚谈到了锁,一下面试官就扯出了锁,看你简历上ssh mybatis都熟悉,那你知道悲观锁和乐观锁吧?答知道,然后讲了下两个的区别以及应用场景 
6、你平时数据库一般用的什么 mysql 那你说说在工作中一般用的什么数据库引擎 答 mysql默认的是InnoDB存储引擎 敢情面试官想给我使绊子来着,接着就让说InnoDB和MyISAM之间使用场景问题了,然后就就着这两种存储引擎的区别 以及 优缺点巴拉巴拉说了一通 
7、平时是怎么处理事务的,讲下对事务的了解 
巴拉巴拉。。。。 
8、看你简历上讲了分库分表 谈谈两个的使用 以及 在工作中 怎么去设计 
这里主要是结合自己实习的项目来说的 
9、mybatis缓存 以及谈谈你们项目为什么用spring mvc+mybatis 而不用Hibernate? 
主要是说说一级缓存 二级缓存 然后 讲讲mybatis相对于Hibernate来说的优点好处之类 
10、项目里用到了redis 为什么用它? 
巴拉巴拉讲了一通业务需要 缓存数据 实现会话缓存的机制之类 
11、.java如何实现多态 
讲了下重载和重写 
12、谈谈java的垃圾回收机制 
从java提供垃圾回收机制说起,谈到了回收时机 何时回收 以及几个常用的垃圾回收算法,然后面试官问了解G1吗,听过但没具体了解了,实话实说,就没再继续了。。 
13、谈谈网页登录模块里记住我这个功能? 
从session一直到cookie,巴拉巴拉说了下各自的实现原理 以及缓存机制。。。 
14、谈谈三次握手四次挥手 以及为什么是三次 为什么是四次 一定要是四次吗? 
巴拉巴拉 结合网络中 那两个图来就行了,肯定不一定是四次 具体原因 大家知道。。。 
15、如果让你设计一个大型网站,你觉得哪些东西是需要考虑的 为什么? 
巴拉巴拉 谈了负载 谈了缓存 谈了框架 然后面试官继续问 就这些吗 然后继续扯 服务器 接着扯 。。。。 
16、数据结构学的怎么样 算法这块? 
还行吧,一直有刷题(其实是最近才刷 想哭) 
好吧 问的差不多了 今天到这里吧,这两天手机保持通畅,然后问我有什么问题要问的,然后我就问了团队,问了面试情况,问了招聘最后会考虑学校吗 实在没底 因为看小哥聊得挺好 所以才敢问的。。。。

技术二面; 
1、三次握手四次挥手 
(其实没搞明白为毛mt这么喜欢问这个问题 之前看面经好的童鞋提到了这个问题 还有就是没让自我介绍 我以为是要走过场了) 
2、sql注入了解么 
谈了下 注入的原理 以及登录功能模块中 sql注入的 实现 
3、集合框架肯定经常用吧? 
于是自觉的从Collection聊到list arrayList vector LinkedList set map HashMap hashtable都通通扯了一遍,语速太快 感觉就跟背书一样 面试官笑逗了,就说 小伙子背的不错吗,面试宝典没少看吧 我无语!!接着就继续说,你刚刚说的那些都是比较浅的东西,我问个比较基础的吧,你知道HashMap的数据结构和实现原理吧? 数组和链表的结合体 顺便谈了下底层数组Entry 实现原理这块 主要是说了下 hashing、put和get的实现过程,以及当遇到空值以及当两个键有相同hashcode值的处理。。。然后问我知道ConcurrentHashMap不 于是又讲了下这个和synchronizedMap的区别 以及 效率问题。。。 
4、谈谈volatile 
。。。。然后又问知道ThreadLoca不。。。。。 
5、写代码:解决生产者消费者问题 
用了Semaphore手写的代码 大概花了一些时间 跟面试官讲了下实现。。。 
6、问设计模式,百问不爽的答单例模式 让说了四种单例模式的实现办法?饿汉式 饱汉式 枚举 然而我只说了这三种(好像还有一种最佳实践 用内部类来实现)。。。 
7、问了下java内存模型 讲了下垃圾回收算法 
又是一通巴拉巴拉 比较了各个算法的优劣和问题之类的。。。再问G1,幸亏一面后来去看了下,于是说了下大概的认知。。。 
8、Java内存泄露的问题 
大致又扯了下垃圾回收 然而好像不是面试官要的答案 尴尬。。。。 
9、谈redis和memcached 
。。。。 
10、用过NIO么,没用过(我是讲真话没用过 不敢说用过)跳过 
11、聊get post,http状态码,http header 
巴拉巴拉说了下自己了解的,不是很满意感觉。。。 
12、讲ssh搭建 
。。。。 
13、谈spring mvc 
。。。。 
这讲框架的两个问题 就跟聊天一样 你一句我一句的。。。。 
14、谈spring的事物管理 
。。。。 
15、谈线程池 
。。。。。 
16、你有师兄之类的在mt么 为什么想来mt 
巴拉巴拉。。。。 
最后没让问问题 没说下一面任何事情(以为挂了)

技术三面: 
1、自我介绍+项目 
。。。 
2、怼项目,死怼,谈业务需求,谈遇到的问题 
。。。。 
3、还是项目,你在项目中做了以图搜图,你是怎么实现的,谈谈你的处理过程? 
谈了下图像检索的认识 聊了下自己用的sparse coding算法 谈了下降维算法 说了一大通 不知道面试官挺懂没。。。。 
4、讲下数据库优化 
主要说了索引、数据库结构优化,然后牵扯出红黑树,让手撕红黑树,然而写不出来,讲了下大概实现。。。数据库结构优化主要讲了下在项目中做到的表拆分和分区。。。 
5、谈谈tomcat服务器 
巴拉巴拉。。。。 
6、讲下sql的left join、right join、inner join 
这个简单。。。。 
7、谈spring的过滤 
大致讲了下登录过滤的实现。。。 
8、继续谈spring mvc的分层 以及问了些常用的注解 
。。。 
9、谈谈IOC 
。。。。(又一送菜题) 
10、连表查询:笛卡尔积通过什么连接得到sql 
巴拉巴拉 谈笛卡尔积的实现。。。。 
11、对‘a’,‘b’,‘c’,‘d’排序,排成指定的顺序 
这个我不会。。。 
12、算n个数内的质数的和 
这个简单,用一个数组保存所有质数 然后计算数组的sum即可。。。 
13、一个圆环上有n个点 a从任意一个点出发 到达下一个点都需要Ag能量,每一个点都有cg能量补给,假设a最初有Bg能量,问a最初Ag能量为多少能保证a绕圆环一周。。。 
最后一个问题大致是这样的。。。。。 
14、谈谈自己的学校 
第一次遇到这样的问题,还是技术面里。。。。。。。

hr面: 
1、why投mt 
。。。。。 
2、why投外卖配送bu 
。。。。 
3、自己最想从事什么行业 
。。。。。 
4、为什么打算在上海工作,打算长期发展吗? 
。。。。。 
5、三个词语概括自己的性格 
。。。。。 
6、为什么读研? 
。。。。。 
(又一次遇到这个问题 第二次了 因为是工作的时候考研的) 
7、换我来问问题了。。。。

大概想起来的就上面那些 技术面的比较深刻 就大概记录下吧 很多问题 回答起来估计要很多时间,大家参考参考就行 祝大家早日收到offer。。。。

PS:等校招完成有空的话 博主在把这些问题的答案总结出来,目前还是准备校招为主。。。

java开发3轮技术面+hr面 面经(MT)的更多相关文章

  1. 2022年字节跳动基础架构前端实习生凉经(4轮技术面+hr面)

    技术一面 原文链接:https://juejin.cn/post/7120516854203809829 因为我之前的项目经验有开发小程序的,所以一开始就问了小程序的问题 1.小程序onload和on ...

  2. 今日头条高级后端开发实习生三轮技术面+HR面 面经

    二面结束后已经意识模糊,好多问过的东西都忘了,而且有一些基础知识就不在这写了,大部分公司都问的差不多... 一面(2018/03/27,11:00~11:50) 1:自我介绍 2:简单说说你这个项目吧 ...

  3. 知名互联网公司校招 Java 开发岗面试知识点解析

    天之道,损有余而补不足,是故虚胜实,不足胜有余. 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几 ...

  4. Java开发岗面试知识点解析

    本文作者参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编 ...

  5. Java 开发岗面试知识点

    本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 ...

  6. 记录面试龙腾简合-java开发工程师经历

    /** * ############ * 变强是会掉光头发的!现在的头发还是很茂盛,是该开心还是难过呢.. * ############ * / 总结下近期面试龙腾简合-java开发岗的经历.附上笔试 ...

  7. 顺丰科技面试-java开发

    顺丰科技的面试官感觉人都挺随和,总共经历三面,两轮技术面,一轮hr面. 一.专业面一 主要是对着我的简历上的东西问,我的一个项目经历,两个实习上面以及自己提到会的技能展开的提问. (1)自我简介 (2 ...

  8. [ Java面试题 ]Java 开发岗面试知识点解析

    如背景中介绍,作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向. 在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Jav ...

  9. 学生党成功拿到阿里技术offer:面Java开发,却是C++考官,几个意思?

    摘要: 这是我为大家分享的如何拿到阿里技术offer系列文章中的第一篇,今天分享的文章的作者是一位在2015年阿里的校招中成功得到offer的美女学姐,从学姐的这篇文章中我们能学到很多在阿里面试的宝贵 ...

随机推荐

  1. 设计模式笔记——GoF设计模式汇总

    目录 · 总述 · 记忆 · 效果 · 面向对象设计原则 · 创建型模式 · 单例模式(Singleton) · 效果 · 分类 · 代码(饿汉式) · 代码(懒汉式) · 代码(双重检测锁式) ·  ...

  2. .NET 微服务和Docker容器

    .NET 微服务:适用于容器化 .NET 应用的体系结构 容器和 Docker 简介 什么是 Docker? Docker 术语 Docker 容器.映像和注册表 为 Docker 容器选择 .NET ...

  3. mybatis中的mapper接口文件以及example类的实例函数以及详解

    ##Example example = new ##Example(); example.setOrderByClause("字段名 ASC"); //升序排列,desc为降序排列 ...

  4. hdu--1072--Nightmare(bfs回溯)

    Nightmare Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...

  5. php 下载文件

    <?php header("Content-type:text/html;charset=utf-8"); // $file_name="cookie.jpg&qu ...

  6. CSS基础学习笔记

    一. CSS介绍 1. CSS概述:CSS(Cascading Style Sheets)指层叠样式表,极大提高了工作效率. 2. 基础语法: 属性大于1个之后,属性之间用分号隔开 如果大于1个单词, ...

  7. 【机器学习笔记之六】Bagging 简述

    本文结构: 基本流程 有放回抽样的好处 Bagging 特点 sklearn 中 Bagging 使用 Bagging 和 Boosting 的区别 bagging:bootstrap aggrega ...

  8. Kotlin 初窥门径[1]:基础概念

    Kotlin 是由 JetBrains 开发的基于JVM的语言.JetBrains 因为创造了一个强大的Java开发 IDE(Intellij) 而被大家所熟知.Android Studio 就是基于 ...

  9. ubuntu修改grub,修改开机顺序,配置grub启动顺序

    方法一: 1.进入Ubuntu系统后打开终端 2.终端中输入以下命令 sudo gedit /boot/grub/grub.cfg 3.找到Windows的配置将其剪切到Ubuntu的前面 把下面 # ...

  10. Go语言的切片

    Go 语言切片(Slice) Go 语言切片是对数组的抽象. Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组" ...