关于一次美团java程序员招聘面试的经历
美团一面:
中间省略掉大概几个问题,因为我不记得了,下面记得的基本都是我没怎么答好的。
1、了解SOA,微服务吗?
2、分布式系统如何负载均衡?如何确定访问的资源在哪个服务器上?
一.轮询。二.随机。三.最小响应时间。四. 最小并发数。五.哈希。
3、设计一个分布式负载均衡缓冲系统,如何快速定位到是那个服务器(使用key分段、一致性hash)
4、如何保证缓冲区和数据库之间的强一致性(使用加锁)
5、HashMap高并发情况下会出现什么问题,(扩容问题)
6、说一说在浏览器中输入一个url后,直到浏览器显示页面的过程中发生了什么(我主要说了DNS,然后他有接着问了DNS的细节,然后就是ARP路由,然后服务器处理,返回,浏览器呈现,获取html中的依赖资源)
7、字符串中句子的反转(比如ABC DEF,输出DEF ABC)(很简单,可以先反转整个字符串,然后反转单词,或者先将句子切分为单词,然后反转);
8、给任意二叉树的所有结点加next指针(这个有原题,也可以参考按层打印二叉树)。
9、用过反向代理吗?
美团二面:
1、进程间共享内存的方式有哪些?(8种)
2、linux下如何查看网络端口状态(netstat),如何查看内存使用情况(top);
3、ConcurrentHashMap如何扩容?
4、知道java的异常吗?
5、运行时异常如果不处理会怎么样?应该怎么处理运行时异常?
6、写代码:给你5000万个int,求出前1000个最大的数,有2G内存。(我刚开始以为5000万个int很多,还把G和byte的换算忘了,后来面试官指导才想起来。我的方法是维护一个1000的小根堆,然后遍历数组,总体下来时间复杂度是O(nlg1000))
7、给你n个不重复的整数,随机找出m个不重复的整数,要求时间和空间复杂度都是O(m)。(方法很简单,就是每次把取出来的数放到后面,只在前面的数组随机访问就可以了,时间复杂度是O(m),空间复杂度是O(1),不过我刚开始没有想到把选出来的放后面去)。
8、对于SQL慢查询的优化?(主要是从查询语句和数据库表设计两个方面来考虑,查询语句方面可以增加索引,增加查询筛选的限制条件;数据库表设计的时候可以拆分表,设计得更细粒度。但是后来才发现面试官想要的就是查询大量数据的慢查询问题的优化。)
9、用过哪些容器?(tomcat)对比过Tomcat与其他服务器的区别吗?比如nginx?
10、用过动态代理吗?以后会经常用到的。
美团三面:
1、自我介绍,说说你项目中的数据流向(画结构框图)
2、看过什么书?
3、说说深入理解JVM中印象最深刻的章节(我说了JVM内存模型,垃圾回收和类加载);
补充:还问了堆和栈中存的是什么?static修饰的遍历存在哪里?(方法区)
4、说说《Effective Java》中你印象最深的三条和你的理解
5、你觉得你哪一块只是最熟悉(我说了Java的基本数据结构)
6、那你说说HashMap的内部实现;
7、HashMap是线程安全的吗?(不是,ConcurrentHashMap是)
8、那ConcurrentHashMap内部是如何实现的?每个segment是个什么数据结构?(HashTable)
9、你的项目中用到哪些技术?(Spring)
10、说说你用了它的什么?(Spring IOC用的最多)
11、Spring的优点?Spring AOP的原理?Spring如何实现解耦合?
12、对链表了解吗?(我说是List吗)是,(了解ArrayList和LinkedList),那你说说他们的区别?
13、会做链表两个结点的交换吗?(链表反转吗?)是的,你写代码实现把。
14、再写一个,给你一个链表和一个整数k(k大于等于0,小于等于链表长度,链表长度未知),按k步长反转链表(比如1->2->3->4->5->6->7,当k=3的时候结果是3->2->1->6->5->4->7)
15、说说mybatis配置了xml过后是如何完成数据库操作的?
面试总结
1、三年以上java开发经验或五年以上互联网开发背景
2、熟练使用springmvc框架
3、掌握面向对象设计开发,熟悉常见设计模式
4、熟练使用mysql进行应用开发,熟悉数据库原理及常用性能优化技术
5、熟悉分布式,缓存,消息搜索等机制,有分布式系统开发经验,集群架构设计和使用者优先
6、有责任心,有想法,热爱技术,喜欢钻研
7、有较强的逻辑思维能力,善于分析,归纳,快速定位并解决问题
很多小问题都记不清了,这是我昨天下午回来就记录下来的,感觉自己也尽力了。
关于一次美团java程序员招聘面试的经历的更多相关文章
- 2017年秋招美团Java程序员开发,看我如何拿到offer
本人是一名本科毕业非计算机专业的程序员,面了阿里,结果没过,最后面上了美团,热乎乎的面经,昨天面的美团,虽然面完了HR面,但是感觉希望不大,希望能走运拿到offer吧.记性不是太好,有一些问题没能记住 ...
- 两年JAVA程序员的面试总结
前言 工作两年左右,实习一年左右,正式工作一年左右,其实挺尴尬的,高不成低不就.因此在面试许多公司,找到了目前最适合自己的公司之后.于是做一个关于面试的总结.希望能够给那些依旧在找工作的同学提供帮助. ...
- (转)Java程序员的面试经历和题库
背景:最近我在找工作,前期就像打了鸡血的一样,隔一段时间没有面试,就又松懈了下来,看到别人写的面经,感觉就像打脸一般,以后要多多总结前人的经验,时刻保持压力状态才是. 作者:nuaazhaofeng2 ...
- Java程序员的面试经历和题库
最近打算换城市了,受不了北京的雾霾了,所以准备逃离啦.所以一直在面试中,整理了下最近遇到的一些面试题,供大家参考.其中会包含一些面试的小经验,如果您是面霸,希望能给予指导.自己不是大牛,如果您是大牛, ...
- 面试挂了阿里却拿到网易offer,一个三年Java程序员的面试总结!
前言 15年毕业到现在有三年多了,最近去面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去了网易. ...
- java程序员常见面试题目
答:每当程序出现异常之后,如果程序没有进行相应的处理,则程序会出现中断现象.实际上,产生了异常之后,JVM会抛出一个异常类的实例化对象,如果此时使用了try语句捕获的话,则可以进行异常的处理,否则 ...
- Java程序员自我介绍
有关Java程序员的面试自我介绍范文(一) 我叫XXX,今年21岁,毕业于XX解放军信息工程大学计算机科学与技术专业,拥有扎实的Core Java基础,良好的编程风格;熟悉JSP+Servlet+Ja ...
- 转载:java程序员如何拿到2万月薪
作者:匿名用户链接:https://www.zhihu.com/question/39890405/answer/83676977来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- 一个3年Java程序员的坎与选择
前言 LZ 15年本科毕业,不知不觉3年过去了,去年底裸辞回到成都来发展,年后开始找工作,面试了几家公司,现在整理整理做个总结,也方便规划下一个3到5年以及和广大想要进阶的Java程序员同胞们共勉. ...
随机推荐
- “全栈2019”Java第二章:安装JDK11(Windows)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 "全栈2019"Java第二章:安装JDK11(Windows) 下一 ...
- Java中运算符“|”和“||”以及“&”和“&&”区别
1.“|”运算符:不论运算符左侧为true还是false,右侧语句都会进行判断,下面代码 int a =1,b=1; if(a++ == 1 | ++b == 2) System.out.printl ...
- leecode刷题(16)-- 字符串转换整数
leecode刷题(16)-- 字符串转换整数 字符串转换整数 描述: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格 ...
- grunt 常用插件
grunt-contrib-uglify:代码压缩 grunt-contrib-jshint:检查js拼写错误 csslint:检查css语法错误
- C语言 一些算法
1,斐波那契数列 ①递归 时间复杂度O(2^n)#include <stdio.h> int fib(int n){ ||n==) ; ) + fib(n-); } int main(){ ...
- JavaScript变量那些事
引言 JavaScript的变量本质是松散类型的,也就是说其变量就是用于保存特定值的一个名字,变量的值和数据类型可以在脚本执行的生命周期中发生变化.这是一个很有趣很强大的特性,但是也是一个极容易出错误 ...
- FlowPortal-BPM——管理员、功能的权限设置
一.管理员设置 管理工具→安全组→安全组名称→管理授权→[添加管理人员]→[设置管理人员权限] 二.访问功能权限设置 (1)模块访问权限 (2)访问控制→[在需要的文件夹下]新建子资源→[资源名称]. ...
- C#-WebForm-Request、Response、QueryString
知识点: Request - 获取请求对象 专门用来接传递过来的值 Request["key"](李献策lxc) 1.获取地址栏传递过来的值 get 2.获取表单传递过来的参数值 ...
- QuantLib 金融计算——数学工具之随机数发生器
目录 QuantLib 金融计算--数学工具之随机数发生器 概述 伪随机数 正态分布(伪)随机数 拟随机数 HaltonRsg SobolRsg 两类随机数的收敛性比较 如果未做特别说明,文中的程序都 ...
- 4、2支持向量机SVM算法实践
支持向量机SVM算法实践 利用Python构建一个完整的SVM分类器,包含SVM分类器的训练和利用SVM分类器对未知数据的分类, 一.训练SVM模型 首先构建SVM模型相关的类 class SVM: ...