同今生活在线网

Java工程师美团面试题

Java开发培训 2019-09-25 02:4653企业面试题javagcsm

我是一名本科毕业但是非计算机专业的程序员,上个月面完了阿里,结果是没通过,然后上周又面了美团,上周五才面完了HR面,我自己感觉希望也不大,希望能走运拿到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?

上一篇:Java中的锁的各种定义 下一篇:没有了

杰途IT培训学习网 备案号:

本站内容部份来自网络和网友自行发布,如有侵权等问题请联系本站删除。