2017年秋招美团Java程序员开发,看我如何拿到offer
本人是一名本科毕业非计算机专业的程序员,面了阿里,结果没过,最后面上了美团,热乎乎的面经,昨天面的美团,虽然面完了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?
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月才开始找工作的我也算圆满结束秋招,今年秋招也不远了,在此祝各位准备找工作程序员们都能找到自己满意的工作,加油,好运早晚会来的!
2017年秋招美团Java程序员开发,看我如何拿到offer的更多相关文章
- 【转】java架构师之路:JAVA程序员必看的15本书的电子版下载地址
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- Java架构师之路:JAVA程序员必看的15本书
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- JAVA程序员必看的15本书-JAVA自学书籍推荐
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- JAVA程序员应该看的15本书的电子版
转载▼ 转载自:http://blog.sina.com.cn/s/blog_8297f0d00100v5ew.html 作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多, ...
- BATJTMD,大厂招聘,都招什么样Java程序员?
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 Java学到什么程度可以找工作? 最近总看到类似这样的问题,也有一些工作3年左右的小 ...
- 关于一次美团java程序员招聘面试的经历
美团一面: 中间省略掉大概几个问题,因为我不记得了,下面记得的基本都是我没怎么答好的. 1.了解SOA,微服务吗? 2.分布式系统如何负载均衡?如何确定访问的资源在哪个服务器上? 一.轮询.二.随机. ...
- Java程序员开发参考资源
构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化 ...
- 【图灵学院01】Java程序员开发效率工具IntelliJ IDEA使用
1. 什么是IDEA? IDEA, Java智能IDE. 2. 为什么要使用? IDEA的优点: 1)智能选取 2)导航模式 3)历史记录 4)重构 5)编码辅助 6)智能排版,控制 7)智能代码,查 ...
- 5年Java程序员,五面蚂蚁险拿offer定级P7,大厂面试不过如此?
当时面试能记下的就这些了,可能不太全请见谅: 一面 1.HashMap和ConcurrentHashMap: 2.再谈谈一致hash算法? 3.乐观锁还有悲观锁: 4.可重入锁和Synchronize ...
随机推荐
- Luogu4433:[COCI2009-2010#1] ALADIN(类欧几里德算法)
先套用一个线段树维护离散化之后的区间的每一段的答案 那么只要考虑怎么下面的东西即可 \[\sum_{i=1}^{n}(A\times i \ mod \ B)\] 拆开就是 \[\sum_{i=1}^ ...
- Bzoj3197: [Sdoi2013]assassin
题面 传送门 Sol 套路:找出重心,如果有两个就新建一个点 然后把这棵树hash一下 设\(f[i][j]\)表示第一颗树到\(i\)第二棵树到\(j\),子树\(i,j\)同构的付出的最小代价 转 ...
- 如何让转换的视频支持HTML5在线播放
转换工具当然是ffmpeg了,那么如何让转换后的视频支持所有支持HTML5的浏览器在线播放?只需要如下命令行代码就行了: ffmpeg -i output.mpg -vcodec libx264 -a ...
- Linux / mysql: is it safe to copy mysql db files with cp command from one db to another?
Copying is very simple for MyISAM and completely 100% risky (near suicidal) with InnoDB. From your q ...
- HW—词频统计
第一次个人作业——词频统计 第一次做这种大作业,明显感觉陌生,各种规范和技能也是第一次使用,希望自己好运. 目录:一.基本要求 二.需求分析及时间估计 三.实现思路及过程 四.测试用例.时间性能分析及 ...
- maven(15),快照与发布,RELEASE与SNAPSHOT
发布RELEASE 用户A将代码打包发布到RELEASE仓库,具体操作参考上篇文章.用户B使用时,需要在pom.xml添加JAR包的依赖坐标.如果用户A将版本从1.0升级为2.0,用户B使用时也 ...
- group by 一条语句实现多条语句的效果
--一个sql 使用 group by 实现 4个 sql 的效果 select ProjectNumber,ClientName,jx,sf,sum(count) as TotalCount fro ...
- kettle 合并记录
转自: http://blog.itpub.net/post/37422/464323 看到别人的脚本用到 合并记录 步骤,学下下. 该步骤用于将两个不同来源的数据合并,这两个来源的数据分别为旧数据和 ...
- asp.net生成PDF文件(一)
这个是例子是网上淘来的,哈哈,很有用的! 首先要到网上下载itextsharp.dll,然后添加引用,主程序如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 ...
- [翻译] KVNProgress
KVNProgress KVNProgress is a fully customizable progress HUD that can be full screen or not. KVNProg ...