2017年秋招美团Java程序员开发,看我如何拿到offer

可莉
• 阅读 631

热乎的面经,昨天面的美团,虽然面完了HR面,但是感觉希望不大,希望能走运拿到offer吧。三面技术面面经如下:

2017年秋招美团Java程序员开发,看我如何拿到offer

一面:

中间省略掉大概几个问题,因为我不记得了,下面记得的基本都是我没怎么答好的。。。

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. 有较强的逻辑思维能力,善于分析,归纳,快速定位并解决问题

很多小问题都记不清了,这是我昨天下午回来就记录下来的,感觉自己也尽力了。

最后很幸运的拿到offer了,10月才开始找工作的我也算圆满结束秋招,祝各位还在找工作的同程序员都能找到自己满意的工作。加油,好运早晚会来的。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
2017年秋招美团Java程序员开发,看我如何拿到offer
热乎的面经,昨天面的美团,虽然面完了HR面,但是感觉希望不大,希望能走运拿到offer吧。三面技术面面经如下:!2017年秋招美团Java程序员开发,看我如何拿到offer(http://p3.pstatp.com/large/4adb0004bf9a8d5c3247)一面:中间省略掉大概几个问题,因为我不记得了,下面记得的基本都是我
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
Java开发5年,四面美团(多线程+redis+JVM+数据库),终拿offer!
前言Java开发五年多.投递阿里、腾讯、头条、美团、京东等各互联网公司的高级Java岗位,最终得到了美团的面试机会,并成功拿下美团高级Java岗的offer。美团Java岗四面,前三面都是技术面,第四面是HR面,下面是面试题!!(https://oscimg.oschina.net/oscnet/32c0493300cffbf6eb6f42
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这