过五关,斩六将!「网易/美团/菜鸟」已拿offer【Java岗】

news2024/10/6 10:41:56

经过两个月的辛苦奋战,最终拿到了网易、头条、字节、菜鸟的offer,感觉面试的时候还是很幸运的,很多题都是我之前刷题刷到过的,哈哈哈~~下面给广大网友们分享一下我的面经(网易/美团/菜鸟)供大家参考参考...


01 网易有道(Java研发工程师)
一面(40分钟)

  • 常用的数据结构
  • 各种链表之间的区别
  • 算法:链表归并排序。递归写法和非递归写法两种
  • 归并排序的难点
  • 数据库 索引 什么时候不适合用

二面(80分钟)

  • 算法:实现根号2,保留10位小数
  • 算法:实现一致性hash
  • 一致性hash底层用的什么数据结构
  • 介绍项目
  • HTTP协议1.0、1.1、2.0的区别
  • HTTPS协议双方确认传输密钥过程
  • 场景:select name, age from user的数据库查询过程,以及怎么优化,有索引以及无索引时
  • update age from user无索引是行锁还是表锁,为什么
  • mvcc隔离级别怎么防止幻读
  • 主从同步过程,binlog两种类型的区别
  • 场景:用数据库实现分布式数据库唯一id递增
  • 每个数据库缓存失效的那一刻怎么办
  • 说下对dubbo、zk等分布式的理解
  • 自己设计一个PRC框架要考虑什么
  • 用Tomcat主要是解决什么问题
  • SpringBoot了解吗

三面(30分钟)

  • 怎么设计一对多关系数据表、多对多关系数据表
  • 数据库第一第二第三范式
  • 数据库死锁
  • HTTP的get、post、delete之类
  • 算法:矩阵走方格的最短路径,有障碍物(BFS)
  • 设计微信发朋友圈、浏览朋友圈、删除朋友圈的整个流程和存储结构
  • 说项目和论文……
  • 工作岗位意向 想做哪方面
  • 团队部门更喜欢哪个

hr面(30分钟)

  • 自我介绍
  • 面对非计算机专业的我,你来介绍下自己的项目
  • 遇到的最大的困难,如何克服的自己最自豪的一件事
  • 说一下自己的优缺点
  • 平时除了在实验室外,其他的爱好
  • 团队工作中如果有一个人没有完成 如何对上级交付
  • 平时团队合作的多吗 说一个例子
  • 生活工作如何平衡
  • 现在有哪些offer了

02 美团(系统开发工程师)
一面(一小时)

  • 说项目
  • 令牌桶算法
  • 登录验证码怎么做
  • Cookie和Session存在哪 如果是多机存储都会有什么问题 带id去找重复了怎么办 多用户修改了怎么办
  • zookeeper数据结构 写节点的内存限制 在dubbo里作为什么角色
  • dubbo中服务调用的几种形式
  • RPC过程 怎么知道要调用的远程主机的方法
  • 怎么把一个异步过程的返回结果转为同步的
  • IOC的循环依赖 怎么解决 有哪几种
  • AOP原理
  • 你遇到的常见异常
  • StringBuilder和StringBuffer区别
  • ==和equals的区别
  • HashMap、concurrentHashMap
  • HTTP有哪些方法 get和post的区别
  • 设计模式
  • CAS实现原理
  • ThreadLocal原理,底层,放在哪
  • AQS实现原理 队列为啥要双向的
  • Condition队列
  • 平时怎么学习的
  • 给你自己的技术打几分、学习能力打几分

二面(40分钟)

  • TCP和UDP的区别
  • TCP时间和资源消耗具体在哪
  • 滑动窗口大小初始值
  • TCP和UDP可以共用端口吗
  • socket先启动服务器还是先三次握手 对应关系
  • 三次握手过程中存在的问题
  • Linux进程通信方式 最常用的哪种
  • 共享内存生命周期
  • Linux堆栈和Java堆栈区别
  • Java线程池 ScheduledThreadPool
  • 项目应用属于io密集还是cpu密集
  • Spring的优点和缺点
  • Bean对象作用域有哪些
  • 知道什么别的类似于Spring这样的框架
  • 反向代理为啥叫反向不叫正向
  • Nginx和Apache 为什么Nginx快 底层实现是什么
  • 数据库mysql存储引擎 innodb优势 其他引擎
  • 用索引一定快吗 什么情况下查询快/慢

三面(一小时)

  • 深挖项目 挨个问一遍
  • 对Spring架构的理解 画类关系继承图
  • 对Dubbo的理解 结构是什么样的
  • 设计题:电商系统设计 画类图和UML图表示之间的负责关系
  • 如果给你一个大型系统开发 如何分工统筹 按什么原则分
  • 项目中和别人遇到冲突的例子 怎么解决的
  • 平时为什么看源码 如何读源码 按照什么顺序学习
  • 对架构设计有什么看法
  • 了解领域驱动设计吗

Hr面(40分钟)

  • 介绍下做过的数模比赛 为什么要做这个
  • 做过的课题中遇到的最难的问题 怎么解决的
  • 从大学到现在印象最深的一件事
  • 为什么选这个研究方向 喜欢吗
  • 导师当时是什么标准选择的
  • 为什么想做后台 对后台的理解
  • 前端岗,安全岗为什么不考虑
  • 职业规划
  • 平时的爱好
  • 家庭情况
  • 家里人对你去互联网工作怎么看
  • 互联网工作压力和强度大 你怎么看
  • 工作地点问题 为什么想去北京
  • 现在有几个offer 选择时会如何考虑

03 菜鸟
一面

  • 上来先让我做了自我介绍,简单介绍了一下之前做过什么项目,用了什么技术等等,没有详细问项目的细节,但具体的功能和业务一定要讲清楚。
  • 中间穿插着会问到一些基础知识。总共面了50多分钟,java基础能问的基本都问完了。
  • JVM垃圾回收,fullgc是否可以回收方法区
  • redis支持的数据类型到跳跃表,redis同步策略
  • 如何自己实现lru
  • mysql索引的数据结构,为什么用B+树不用B树
  • 事务隔离级别,聚集锁非聚集锁(问到了一个非常细节的问题:如何用可重复读的隔离级别避免幻读)
  • 线程池的构造函数参数,队列的拒绝策略
  • spring相关、bean的生命周期,循环引用问题spring如何处理
  • concurrentHashmap1.8为什么放弃了分段锁
  • 数据库分库分表相关

感觉一面主要考察的是知识广度。
二面

  • springAOP的原理,动态代理是怎么实现的
  • snmp
  • fullgc的时候会导致接口的响应速度特别慢,如何排查和解决
  • netty,如何避免的NIO空循环,零拷贝
  • 问了一些简单的算法,说一下思路

二面考察的主要是知识的深度以及解决问题的能力。开篇常规先简单自我介绍以及介绍项目。
三面

  • kafka的replicas的作用,为什么比其他的消息队列好。
  • 微博评论长链接短链接的问题,让我设计一个服务来处理长链接短链接,包括怎么读怎么存等。

三面面试官特别关注项目的实现和细节。为什么分这几个模块,每个模块做什么以及为什么要用这些技术,都需要非常清楚地解释,中间如果他有疑问会立马打断来问问题。
总结
不知道你有没有拿到自己心仪的offer呢,小编已将自己面试的这些真题都整理出了答案免费分享出来给大家参考复习一下,另外还有一些复习时的刷题资料,全部分享出来,祝大家早日拿到自己心仪的offer~~
最新整理的大厂面试真题+架构专题面试真题+答案(Java面试宝典,Redis,数据库,分布式,中间件,微服务,框架)


MySQL20个必备面试题(含解析)+21条MySQL性能调优实践

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25633.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python教程:*的用法,你可能错过了......

人生苦短,我用python python中*是非常常见的一个运算符,它主要有以下几个功能: 乘法运算符; 函数形参表示可变参数; 函数实参代表tuple; 序列解包为tuple; zip解包运算; 更多学习干…

SpringCloud学习笔记 - 消息总线 - Spring Cloud Bus

1. 消息总线简介 消息代理中间件构建了一个共用的消息主题让所有微服务实例订阅,当该消息主题产生消息时会被所有微服务实例监听和消费。 消息代理又是什么?消息代理是一个消息验证、传输、路由的架构模式,主要用来实现接收和分发消息&…

Java EE|进程与线程的区别与联系

大数据时代,数据规模非常庞大,所以我们在实际开发过程中,需要经常进行并发问题的处理。对于此问题,我们通常有两种解决方案:多进程方式和多线程方式。但是由于多进程对于资源的共享非常困难,而多线程并发可…

一个宁静祥和没有bug的下午和SqlSession的故事

作者:马跃 1 背景 这是一个安静祥和没有bug的下午。 作为一只菜鸡,时刻巩固一下基础还是很有必要的,如此的大好时机,就让我来学习学习mybatis如何使用。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(i…

模拟退火--学习笔记

模拟退火算法来源: 固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态&#xff0c…

【图神经网络论文整理】(三)—— HOW TO FIND YOUR FRIENDLY NEIGHBORHOOD:SuperGAT

ICLR 2021Dongkwan Kim & Alice Oh论文地址 本文介绍的论文是《HOW TO FIND YOUR FRIENDLY NEIGHBORHOOD: GRAPH ATTENTION DESIGN WITH SELF-SUPERVISION》。 该篇论文提出了一个新的网络模型SuperGAT,目的是解决当图中存在噪声能够学习到更多的表达注意力&a…

实体店做微信商城小程序制作步骤_分享微信商城小程序的作用

各行各业都在用微商城小程序开店,不管是餐饮店还是便利店,还是五金店。都是可以利用微信小程序开一个线上店铺。实现线上跟线下店铺更加全面的结合。维护好自己的老客户。让您的客户给您拉新,带来新客户。 小程序经过这几年的快速发展和不断升…

计算机毕业设计之java+ssm企业销售管理系统

项目介绍 本企业销售管理系统主要包括系统用户管理模块、商品信息模块、进货入库管理、员工信息管理、销售管理、登录模块、和退出模块等多个模块系统采用了jsp的mvc框架,SSM(springMvcspringMybatis)框架进行开发,本系统是独立的运行,不依附于其他系统&#xff0c…

Day4:写前端项目(html+css+js)

xiao效果&#xff1a; 页面布局 使用grid <div class"grid-container"><div><h1 class"uppercase ff-sans-cond letter-spacing-2 text-accent"> so, you want to travel to<span class"uppercase letter-spacing-2 fs-900 te…

【无线传感器】使用 Mamdani 模糊推理系统改进无线传感器网络路由和数据包传递(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

操作系统的奋斗(二)进程与线程

第二章 进程与线程2.1进程与线程2.1.1进程的概念、特征、状态与转换2.1.2进程的组织、控制、通信2.1.3进程和多线程模型2.2处理机调度2.2.1调度的概念、目标、实现2.2.2典型的调度算法2.2.3进程切换2.3同步与互斥2.3.1同步与互斥的基本概念2.3.2实现临界区互斥的基本办法2.3.3互…

泊松随机变量的分解与求和

1.泊松随机变量的分解 假设传感器发出的信号为0-1信号.发出1的概率为,发出0的概率为 ,并且和以前所发的信号独立.现在假设一定时间内发出信号的个数为泊松随机变量&#xff0c;其参数为, 可以证明在同一段时间内发出1的个数也是泊松随机变量&#xff0c;其参数为. 证明&#…

PTA题目 A除以B

真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B&#xff0c;要求你按照“A/B商”的格式输出结果。 输入格式&#xff1a; 输入在第一行给出两个整数A和B&#xff08;−100≤A,B≤100&#xff09;&#xff0c;数字间以空格分隔。 输出格式&#xff1a; 在一行中输出…

Data-Efficient Backdoor 论文笔记

#论文笔记# 1. 论文信息 论文名称Data-Efficient Backdoor作者Pengfei Xia 中国科学技术大学会议/出版社IJCAI 2022pdf&#x1f4c4;在线pdf代码&#x1f4bb;pytorch概要&#xff1a;本文是 backdoor attack 中的数据加毒。不同于以往随机在干净数据中选择样本加毒的方法&am…

磁盘怎么删除分区,磁盘管理怎么删除分区

为了高效地利用磁盘分区&#xff0c;会删除部分磁盘分区&#xff0c;但是很多的用户都不知道应该怎么删除磁盘分区&#xff0c;所以&#xff0c;易我小编将讲解磁盘怎么删除分区。 一、为什么要删除磁盘分区 因为不同用户的磁盘分区管理需求不同&#xff0c;为了适应用户的具体…

spring boot yaml自定义配置传入代码

目录 一、在项目代码中&#xff0c;直接读取配置文件application.yml中的数据 二、通过yaml配置文件&#xff0c;给类注入数据 一、在项目代码中&#xff0c;直接读取配置文件application.yml中的数据 使用Value注解。 如&#xff1a; 在spring boot 中&#xff0c;applica…

Spring实战之容器、上下文、Bean的生命周期

一、Spring容器 在基于Spring的应用中&#xff0c;你的应用对象生存于Spring容器&#xff08;container&#xff09;中&#xff0c;Spring容器负责创建对象&#xff0c;装配它们&#xff0c;配置它们并管理它们的整个生命周期&#xff0c;从生存到死亡。&#xff08;在这里&am…

程序运行只是单单的编译吗?一文让你深入理解程序运行的过程

前言&#xff1a; 写了这么长时间的c语言代码&#xff0c;我们都没有想过为什么要写头文件吗&#xff0c;而程序执行的过程又是如何呢&#xff1f;只有编译吗 &#xff1f;要知道机器只能读懂二进制但我们所写的代码编译器是如何读懂的呢&#xff1f;这一篇文章看后一定能解决以…

数据结构之Trie树

Trie树&#xff1a; Tire树可以较为高效的存储和查找字符串集合。 存储方式&#xff1a; 首先Trie有一个根节点&#xff0c;我们按从前往后的顺序将字符串的每个位置上的字符存储到树的每一层中&#xff0c;这样我们存储多个字符串时就可以消除一部分冗余&#xff0c;在查询字…

期货开户后需要银期转账绑定

一、期货公司正规性 如何判断期货公司是否正规&#xff1f; 1、 中国证监会官网有公布所有正规期货公司&#xff08;一共150家&#xff09;名录的&#xff0c;我们可以直接参考证监会发布链接&#xff1a;期货公司名录 2、如果你懒得从名录中一个个找&#xff0c;也可以直接…