您现在的位置是:首页 > 文章详情

百度+京东+美团Java面经合集

日期:2018-08-02点击:411
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/81390031

专注面试,职场与后端技术。

本文里的面经内容全部来源于牛客网,作为秋招备战复习与查缺补漏时使用。里面部分面经有我的注释和想法,以及部分解答,不一定正确,大家可以查询补充。

http://www.importnew.com/22083.html
http://www.importnew.com/22087.html
http://ifeve.com/questions/?sort=views

作者:Hjyilu
链接:https://www.nowcoder.com/discuss/89723?type=2&order=3&pos=4&page=1
来源:牛客网

京东
一面:
1、HashMap、concurrentHashMap底层原理把知道的都说一遍
2、线程池把知道的都说出来
3、线程同步(synchronized、volatile、ReenreantLock、ThreadLocal)
4、设计模式把知道的说一遍
5、数据库隔离级别
6、红黑树、b树、b+树底层原理
7、讲项目

二面:
1、Java基本数据类型(byte、int、float、。。。)
2、arrayList、linkedList底层原理以及其区别,各自的使用场景
3、HashMap、concurrentHashMap底层原理
4、HashMap有哪些缺点、是不是线程安全的、扩容
5、红黑树、b树、b+树底层原理
6、索引采用b+树和HashMap的区别,使用场景,数据库为什么用b+树做索引,而不用HashMap
7、数据库隔离级别以及各种隔离级别有可能会产生什么问题
8、挑一个自己认为做的比较好的项目讲一下

作者:等啊等啊等offer
链接:https://www.nowcoder.com/discuss/89528?type=2&order=3&pos=23&page=1
来源:牛客网

猝不及防的百度云二面,好吧,已经不是第一次了,中午趴着睡的迷迷糊糊的接到面试电话,大约一个小时,遇到了一个对基础知识比较纠结的面试官,没记全
什么是同步,
什么是互斥,
什么是面向对象,
什么是事务,
。。。(还有一些想不起来的,感觉就是密密麻麻的知识点)
static在java和c#中的区别
观察者设计模式
排序算法
海量条记录,如何随机选择若干条记录的算法
linux怎么查看进程内存占用情况
还有一些项目相关的,代码量,难点,算法之类的
基础还是很重要,有点懵,这个面试官很严肃,总是在质疑,也没啥提示,接下来就是等消息了。。。

作者:贼鸡儿烦躁
链接:https://www.nowcoder.com/discuss/89449?type=2&order=3&pos=28&page=1
来源:牛客网

20 min
语速贼快 问题基本都是重复两遍才听清

linux内存机制
cache和buffer的理解
sed哪些命令是做追加的
HTTP状态码
TCP的流量和拥塞
详细讲拥塞控制
为什么快恢复直接拥避而不不是慢启
mysql的innodb和myisam
innodb索引结构
redis数据淘汰机制
讲一下fastdfs
讲一下cisco的stp

我问为什么就面了20分钟 我准备了1个小时左右的时间 面试官说感觉你都会不想问了 ORZ 不知道是不是反向拒绝

作者:不悔青春
链接:https://www.nowcoder.com/discuss/89287?type=2&order=3&pos=16&page=1
来源:牛客网

面试时间:2018/07/13 一个小时

自我介绍,项目介绍

1)项目使用TCP长链接还是短链接,优缺点和各种适应的场景?
2)time_wait
3)一致性哈希
4)STL容器
5)红黑树设置红黑节点的作用,插入时间复杂度
6)B树和B+树
7)哈希表,冲突处理
8)多态 虚函数 虚表实习原理
9)进程间通信方式和各自的特点 消息队列和管道区别
10)TCP流量控制和拥塞控制
11)求根号n
12)洗牌算法,证明概率相等 【这题证明很惨,数学不好】
13)为什么使用epoll,epoll为什么高效,epoll回调是证明实现的
14)读套接口时候返回0,时候时候产生EAGIN。【EAGIN也不太清楚,知道又这个玩意,不知道具体的,应该直接说不知道】

总结:不太会的应该直接说不知道,不然很尴尬。

二面

30分钟
1)输出字符串用%s,输出常整型用什么。
2)STL的vector, map和unordeded_map的底层数据结构,应用场景
3)vector大小为100,范围1000的位置会怎样,map用【】范围不存在的key会怎样
4)new和maloc的区别
5)CPU又4核,如何编程让4个核都跑满
6)数组连续子数组的最大和
7)1到100的随机数,生成1到10000的随机数
8)linux常用命令

作者:风来了
链接:https://www.nowcoder.com/discuss/89094?type=2&order=3&pos=4&page=1
来源:牛客网

今天下午百度DuerOS部门面经,面了2个小时,过了30分钟后面试官通知已经凉了。下面是具体内容
1.如何判断用户在访问网页的时候一直浏览网页,也就是有可能出现打开页面后离开,或者一直开看网页,不点击页面?
2.针对于每一次客户买商品,都有一条Action日志,不准使用大数据的任何框架,如何求解T购买商品TopN的用户?如果BitSet内存也存不下呢?
3.Session和Cookie的区别?
4.Redis为啥存取速度这么快?内部是单线程还是多线程实现?单线程为啥这么快?
5.Kafka了解吗?有哪些应用场景?
6.你项目中按照时间比例随机抽取Session这个算法如何实现的?
7.有一天的日志,登入登出都有日志,求每一秒的再现人数?
。。。。。。。这里估计有一个小时的项目面试。。
8.编程题,二叉树的宽度?

作者:java讨饭员
链接:https://www.nowcoder.com/discuss/89078?type=2&order=3&pos=7&page=1
来源:牛客网

继一面10分钟后,二面12分钟,过了半小时hr面
二面就问了项目,问了用了哪些设计模式?然后说最早什么时候能来?我说最早明年四月,面试官说这个时间没什么优势?难道是假的提前批?还要求实习?有大佬知道这是什么情况吗?
然后hr问了一些常规操作,然后我问了hr确认确实是提前批。。。感觉整个流程好迷。
一面连接:https://www.nowcoder.com/discuss/88651

作者:为幸福写歌
链接:https://www.nowcoder.com/discuss/87290?type=2&order=3&pos=11&page=1
来源:牛客网

一个有三次面试,前面两次是技术面,要求手写代码(面试官是会发一个网址,在里面写的内容会同步到面试官的电脑),问的问题超多,一个半小时左右,第三次是BOSS面,也会问技术问题,因为面试完后没有做记录,所以可能现在只能回忆一些印象比较深刻的题目。
一共要求手写的代码有四个:
1.冒泡排序

  1. 交换单链表的第n个节点和倒数第m个节点

百度二面面经,一面不具代表性,发出来求好运(时长30min)
介绍一个你最熟悉的项目?

线程池开了几个线程,为什么?

epoll技术缺点是什么?
活跃连接多的时候没什么必要
高连接、高事件触发的情况下你该怎么做?
select和poll。还是poll把
一个A服务器向B服务器发送数据,B服务器对数据处理后写入进磁盘,正常情况下一小时写入1000条数据,突然服务器B变得只能一小时写入100条数据。 这种排错的情景,要如何去分析。?

1 检查IO
2 检查 CPU
3 检查网络
4 检查内存(缓冲区)
5 检查进程

给你一亿个IP,查找重复的?
布隆过滤器或bitmap

HTTP服务器,客户端连接不上,要怎么排错?

1 检查http服务,ping检查ip,curl检查http请求。
2 curl正常,说明是客户端问题。
3 curl不正常,说明http服务有问题

作者:喵咪咪
链接:https://www.nowcoder.com/discuss/87547?type=2&order=3&pos=4&page=1
来源:牛客网

昨天下午在牛客发了个帖子吐槽,晚上就收到京东二面,今天下午百度sre二面,发个面经攒人品,求过!!!
京东一面30分钟:
1.介绍项目

2.hashmap,concurrenthashmap,效率

3.线程池,及如何设置线程池数量

4.对称锁,非对称锁

  1. lock syn 以及效率

  2. 设计模式原则

7.策略模式和命令模式
差补多,策略主要封装算法实例,命令可以用于执行

  1. 数据库事物隔离

9.还有的不记得了。。。

京东二面30分钟左右,主要问项目,中间插了几个简单的基础
1. 项目,主要问项目,其它几本没问
2. 乐观锁 悲观锁

  1. equals ==
  2. 多态
    百度sre二面
  3. 项目
  4. redis为什么这么快

3.高并发直接对数据库访问,优化
缓存,消息队列,分库分表,读写分离

  1. 数据库底层实现

客户端,存储引擎,文件系统

  1. 最大连续子数组和
    子数组和,、
    1、用之前那个,和为负时归零,和为正时累加。
    2 笨办法
    3 dp,以n为结尾的最大值
  2. 单cpu多线程实现

  3. 其它记不起来了。。
    百度面试官说和我约个时间再找个同事面一轮,感觉应该是弃之可惜被加试了,发个面经求人品

作者:仓海一声笑
链接:https://www.nowcoder.com/discuss/76562?type=2&order=3&pos=62&page=1
来源:牛客网

4.18晚百度笔试 4.20下午一点收到一面通知,原定时间今天下午一点。因与其他面试冲突,本来准备放弃。
4.21九点半面试官打电话问我能否提前面,就面了,问题如下:

1.聊项目
2.java基础 垃圾回收 内存模型 多线程常用方法(让我好好解释)

3.数据库 mysql 引擎以及不同 mysql 引擎是否都支持事务 为什么你用mysql 使用这个引擎

大概就是这样,水水的,希望能帮到大家。

作者:StormWangxhu
链接:https://www.nowcoder.com/discuss/75702?type=2&order=3&pos=174&page=1
来源:牛客网

前言
突如其来,毫无防备……
面试内容
1、HashMap的存储结构

2、HashMap扩容过程旧数据如何处理?位置还是原来位置吗?
要么保持原位,要么新位置(1.7rehash,1.8则变一位即可)

3、HashMap对key有什么要求吗?一般用String作为key,问我能否用int或者其他Object类型
可以

4、Object作为HashMap的key的话,对Object有什么要求吗?

重写
5、Object若不重写hashCode()的话,hashCode()如何计算出来的?

native方法

6、hashCode()和equals()方法有什么联系?

7、若对一个类不重写,它的equals()方法是如何比较的?

8、==比较的是什么?

9、hashCode()和equals()方法有什么要求吗?

10、简单算法题:将一个二维数组顺时针旋转90度,说一下思路。
麻烦死了
11、简单算法题:将一个int类型数字、负数逆序输出,须返回一个int类型数字。即反转

12、String能继承吗?就说到了用final修饰

13、final怎么用?分别说了修饰变量、方法、类

14、ConcurrentHashMap的分段锁原理

15、Java中有几种方式启动一个线程?(说了个start()、线程池不知道对否)

16、线程池有什么好处?

17、Java中有几种线程池?

18、TCP的三次握手

19、TCP如何保证可靠传输?

20、框架用过哪些?说刚入门Spring、经典三层MVC

21、项目

22、Servlet是线程安全的吗?(一脸懵逼)
后记
完了就说,嗯好了解了,那我们今天先到这里。

博客:https://stormwangxhu.github.io

作者:sdu王镜鑫
链接:https://www.nowcoder.com/discuss/74573?type=2&order=3&pos=368&page=1
来源:牛客网

百度一面 47min:
1、自我介绍
2、arraylist和linkedlist的区别
3、map

4、bio和nio

5、处理粘包拆包问题
netty处理方式,设置no delay
6、设计模式

7、单例模式的双重校验,为什么使用volatile关键字
可见性
8、对于spring的理解

9、说一说锁,原子变量怎么实现的

10、阻塞队列

11、说说线程池

12、threadlocal实现,如何结局的内存泄漏问题

13、说说对于数据库设计优化的理解

14、redis和elasticsearch

百度二面 48min:
1、自我介绍

2、项目

3、两个文件都是10G,里面存着32位整数型,给8G内存,怎么求交集
mapreduce
外排

4、TF/IDF算法

5、一个表有id和mark两个字段,给定一个用户id,一个sql查出来他的排名,

6、gc算法,内存模型

7、AOP原理,好处

作者:给个offer养家糊口
链接:https://www.nowcoder.com/discuss/74391?type=2&order=3&pos=387&page=1
来源:牛客网

二面
0,自我介绍

1,聊项目

2,AB两个文件存IP地址找出重复的,都可以存在内存里面?内存里面存不下?
hashmap。
MapReduce。
bitmap。布隆

3,聊项目。。

4,二叉树层序输出,每层结尾打个逗号?
使用两个指针next和lnext

5,讲讲SpringMVC是怎么处理请求的

6,项目里面用了哪些表?表过大的时候怎么分,依据呢?(还是项目)

7,redis做缓存是做了些什么?(还是聊项目)持久化怎么做的?

8,讲讲你这个异步队列怎么实现的?
redis
9,输出数列里面每个数出现的次数?HashMap记下就行。。

10,三个线程怎么依次执行?
join
11,TCP三次握手和四次挥手的过程?为什么三次?为什么四次?

12,数据库事务的隔离级别和对应会发生的问题?
可能还有些,记不清了。。

一个半小时,累瘫。。

三面
三面面试官不是写Java的。。
0。。。
1。。。讲讲项目里面的亮点

2,手撕代码,有两个操作,插入一个数,和查询已输入的数的中位数,怎么实现这个结构?
根据大小放在左右,然后调整中位数

3,上一题用了平衡树,讲讲平衡树的旋转操作?(讲了AVL树的旋转操作,我竟然没还给老师我也很惊讶。。)

3,手撕代码,如果a通过交换字符位置和b字符串相同那么认为a,b是兄弟字符串。

给数组和指定字符串,求数组中哪些是兄弟字符串(面试官说可以用trie树做。。没写出来。。)

4,手撕代码,单链表反转

5,人生规划?自己的优缺点?合作的经验?
顺序不一定对。。

结束,通知一个星期内出结果,累瘫

二面,4.13,34分钟
1. 项目
2. DNS解析过程(刨到灵魂深处)

  1. TCP三次握手四次挥手

  2. TCP重传(刨到灵魂深处)

  3. 你大学对哪门课最感兴趣,如果让你向一个非专业的同学介绍这门课你会怎么介绍

  4. 用户反馈xx业务(比如付款)太慢,该怎么排查

  5. 你对运维有什么认识(内推部门是运维部)

  6. 什么时候能来实习,实习多久,对地点有要求么

  7. 你有什么要问我的
    2和4真的是刨到灵魂深处。。。本来对这两个就只是知道的状态,然后被刨这么深,答得很差。。。所以面完就感觉凉了。。。

到现在还一个offer都没有,花式挂,感觉自己好辣鸡啊。。。

作者:寻筝
链接:https://www.nowcoder.com/discuss/73242?type=2&order=3&pos=492&page=3
来源:牛客网

百度:
说实话没想到百度会给我打面试电话,毕竟是BAT,在我心中地位还是很高的。一面总共68分钟,前期是问项目,问的超级细致,我一句他一句。在项目中我的考虑也算周到,估计他也很满意。不过后期问Java基础的时候答得相对更好,回答Synchronized Lock区别的时候都是从JVM到操作系统到API统一回答,当时答完就问我,这些你都是自学的么?我就说我看书看到的,他说你愿意去看这么多书也还是很好了。后面差不多问了IOC AOP源码,MVCC,Spring 传播级别 等内容。
后来第二天就通知我说直接过了,不用二三面了,就这样只面了一面稀里糊涂的过了百度。(项目考虑周到+基础知识回答的好)

作者:努力努力再努力呀
链接:https://www.nowcoder.com/discuss/72122?type=2&order=3&pos=567&page=1
来源:牛客网

百度
- 一面

  • 项目(问了好多好多)

  • 说一下数据库表都有啥

  • 为什么自定义的异步队列
    Redis

  • 如果请求已经发出,但是异步队列处理结果异常怎么办
    重复

  • 什么是字典树,怎么实现的敏感词过滤
    字典树前缀匹配
    filter- 拦截器相关,属于哪个包

  • mysql持久化和redis持久化
    文件,文件和日志
  • redis为什么读写速率快性能好

  • 说一下controller注解

  • 处理器适配器怎么找到对应的controller
    反射

  • 登录注册为什么使用拦截器,拦截器在项目中的作用
    aop的动态代理
  • @restcontroller和@controller的区别
    rest用于自动转化为repsonse响应。
    controller还可以用于页面跳转
  • 哪里用redis,为什么使用redis,redis优点

  • 为什么自定义异步队列而不用系统自带的

  • 依赖注入的方式有几种,哪几种

  • 集合类都有啥

  • SpringMVC的运行机制 运行机制的每一部分的相关知识

  • modelResovlve怎么渲染的?不同的页面不同的显示

render

  • MVC相关,具体忘了

  • 用过的注解

  • springioc解释一下,使用springioc的好处

  • hashmap能存放重复元素么,相关实现

  • set的性质

  • hashtable怎么实现线程安全

  • http头

  • http请求请求的流程?

  • 层次遍历二叉树(剑指offer)

  • 快排

  • 你有什么想问我的

  • 二面

  • redis场景实现:点赞怎么实现的,我现在想实现一个功能,显示一个用户都给谁点赞了怎么实现

使用一个list搞定

  • 推拉的具体实现,怎么存储的,主要考业务

推就是主动推送,拉就是等待消费

  • 数据库表包含什么

  • token相关

  • get和post区别

  • tcp和udp区别

  • http和https的区别

  • tcp/ip协议讲一下

  • tcp为什么要建立连接

  • http工作流程

  • 超时重传机制

  • 你有什么想问我的

作者:雄关漫道1
链接:https://www.nowcoder.com/discuss/70129?type=2&order=3&pos=792&page=1
来源:牛客网

半年了,从七月的迷之自信,到十月的0offer,迷茫、反思、不甘,各位战友的鼓励激励着我前进…
终于拿到了offer,感谢牛客网长期以来的陪伴,在此献上面经一篇,祝各位战友都拿到心仪的offer。
另外offer在逼签了,求各位大佬帮忙支支招 https://www.nowcoder.com/discuss/70125 谢谢大家!

【百度 - Java - 实习生】
1.topk;

2.求两个链表的交点;(tips:①判环,②求环的入口,③如果两个链表都有环,判断入口是否相同,共5种拓扑结构)
牛逼
3.二维平面有n个点,求一条直线,使最多的点落在该直线上;(当时直接暴力解了,追问了时间复杂度)
解题思路:从第一个点开始遍历,每次和其他所有点对比,判断是否是重合点,以及是否是同一x值的点,map用来保存斜率,然后判断斜率是否存在,每次更新max。

4.三维平面内呢,如何求这条直线;(不会)

5.JVM内存模型?GC算法?

6.eden和survivor的分配,为什么8:1:1?(tips:因为eden满了就会触发GC,这样分配能多装点,少GC)

7.强引用软引用弱引用虚引用;
软引用缓存,弱引用防止泄露,虚引用跟踪

8.知道哪些设计模式,一个一个说,写了十几个;

9.wait和sleep的区别;
10.如何设计一个json字符串解析器;(注意Json的类型,如基本数据类型1,对象{},数组[])
11.说说B+树,索引为什么最左匹配?(tips:因为创建多路平衡树的第一步是排序)
12.数据库的key是什么?有什么限制?既然如此,为什么要引入primary key,直接unique+not null不就行了吗?(tips:此处涉及到innodb的聚集索引,主键不单是非空不重复,数据库引擎还会自动为其建聚集索引);
13.聚集索引和非聚集索引;

【百度 - 度秘 - 实习转正 - php&c++】
一面:
1.实习期间做了什么,介绍项目,深入聊了半个小时;
2.订单表结构为 (用户id,商品id),写一个sql语句,查询购买商品数最多的前十个用户;SELECT user_id,COUNT(product_id) FROM order_list GROUP BY user_id ORDER BY product_id LIMIT 0,10
3.手撕代码,求二叉树的宽度(层次遍历,节点数最多那层的宽度,即为二叉树的宽度);
4.select&epoll的区别;
二面:
1.因为简历里写了共识算法,所以问了Paxos&Zab;
2.zk的应用场景;
3.求topk,说思路;(tips:①排序②堆③快排思想)
4.linux命令求topk?(tip:多谢楼下大佬,sort+head即可)
5.TCP报文格式,http长短连接?
6.粘包是什么?如何处理?
7.数据库范式了解哪些,说说;
8.聊项目
三面-压力面:
1.写10个你熟悉的linux命令,带上你知道的所有参数;(写得不好,心理压力+1)
2.为什么对计算机网络比较熟悉?
3.你有过一次实习一个月的经历?为什么离职?(被说容易离职,心理压力+1)
4.你对度秘了解多少?(因为是别的部门转过去的,不了解,心理压力+1)
5.秋招为什么没有offer?
6.什么事都准备不充分,我怎么相信你能够在以后的工作中把任务完成好?
7.你可以尝试说服我,让我相信你能把任务完成好。
8.你觉得自己今天表现得怎么样?哪里表现得不好?
0.遇上压力面,小伙伴们一定要稳住心态,保持冷静,沉着应对,切忌正面刚。

作者:天禾裕
链接:https://www.nowcoder.com/discuss/69481?type=2&order=3&pos=857&page=1
来源:牛客网

百度(一面):
1.项目相关
2.异步队列怎么实现
3.高并发情况下怎么办
4.java中数据结构
5.concurrenthashmap源码(分段锁和CAS)
6.hashmap与concurrenthashmap的区别
7.死锁
8.tcp/ip体系结构
9.tcp三次握手,二次会发生什么
10.HTTP/1.0与HTTP/1.1的区别
11.长连接和短连接
12.判断链表有环
13.hashset源码
14.设计一种hashmap缓存
15.设计模式
16.取火柴问题

作者:stphen
链接:https://www.nowcoder.com/discuss/68968?type=2&order=3&pos=911&page=1
来源:牛客网

一直都在牛客观摩大佬们的面经,是时候回馈一波了,由于有些面试时间太久,故只能给出记得住的;

秋招:
百度(测试开发实习生):
一面: 1.一个单向链表,给出头结点,找出倒数第N个结点,要求O(N)的时间复杂度;
2.最大子数组问题(要求时间复杂度最佳);
3.硬币找零问题(要求时间复杂度最佳);
4.说一下常用设计模式;
5.上亿数量的链接,如何找出点击量排名前十的链接?
6.聊项目。
二面:1.如何判断一个单向链表存在回路?
2.说一下分布式集群的概念。

百度(安卓开发工程师):
一面:1.分别说一下Android的四大组件;
2.项目中遇到的难点(百度地图API资源冲突,以及如何实现后台录像)
3.进程与线程的区别;
4.说一下handle的作用;
5.手写快排与冒泡排序;
二面:1.String与StringBuilder,StringBuffer的区别?
2.HashMap原理?
3.如果一个APP在下拉加载更多时出现卡顿,如何解决?
4.如何判断一个单向链表存在回路?
5.如何判断两个单向链表是否会汇入同一链表?
6.写层序遍历二叉树代码;
7.二叉搜索树的特点;
8.一个数组,里面的元素都是成对的,只有一个元素是单个的,如何找出这个单个的元素(要求时间复杂度最佳)?
9.一个有序数组,找一个元素在数组中出现的次数;
10.给一个单向链表的头指针和一个节点指针,删除该节点,要求时间复杂度为O(1)?

作者:努力努力再努力呀
链接:https://www.nowcoder.com/discuss/68375?type=2&order=3&pos=966&page=1
来源:牛客网

昨天下午一面+二面,目测已挂。
人生第一次面试,两面几乎都全程怼项目……
一面答的一般
二面各种提需求让你实现,答的很差,自己对项目理解不够深
项目具体信息感觉没有参考价值。把剩下的问题发一下。感受是如果你在简历里写了计网/操作系统相关,他肯定会问。个人见解
另外,还想请教一下,关于项目优化方面的知识,还有面试过程中被问到项目该需求这种问题,有什么套路么?只能靠积累的经验现场反应么?或者需要读什么书来提升?
对啦,最后说一句,百度的面试体验nice,很耐心,两个面试官哥哥都给了很好的意见

一面+二面(除项目)
mysql持久化和redis持久化
redis为什么读写速率快性能好
说一下controller注解
@restcontroller和@controller的区别
为什么使用redis,redis优点
依赖注入的方式有几种,哪几种
集合类都有啥
SpringMVC的运行机制 运行机制的每一部分的相关知识
ViewResolver怎么渲染的?不同的页面不同的显示
MVC相关,具体忘了
用过的注解
springioc解释一下,使用springioc的好处
hashmap能存放重复元素么,相关实现
set的性质
hashtable怎么实现线程安全
http头
http请求请求的流程?
http状态码
层次遍历二叉树(剑指offer)
快排
get和post区别
tcp和udp区别
http和https的区别
tcp/ip协议讲一下
tcp为什么要建立连接
http请求相关

作者:无厘果果
链接:https://www.nowcoder.com/discuss/68130?type=2&order=3&pos=990&page=2
来源:牛客网

1.写在之前
从2017年10月左右就一直在牛客上刷题,然后计划着找实习。持续关注着牛客网的讨论区,看招聘信息,看面经,看技术交流,就想着要不断充实自己。
几乎每天都要上牛客,不是刷题就是看帖子,一直持续了好几个月,直到有一天看到一位牛友发布的百度垂直行业搜索部的实习生招聘 https://www.nowcoder.com/discuss/65718
仔细阅读了职位要求之后,发现还是比较符合自己预期的,就果断开始写简历投递了。投递详情:垂直行业搜索部-机器学习岗
这就开始了我读研以来的第一次求职之旅。
2.时间进度
2018.01.04 投递简历
2018.01.10 收到邮件约一面
2018.01.11 电话一面
2018.01.19 发邮件问进度
2018.01.29 收到邮件约二面
2018.01.30 电话二面
2018.02.13 发邮件问进度
2018.02.28 接到百度HR的私人电话
2018.03.01 接到百度大搜部门HR的电话(电话三面)
2018.03.02 再次接到百度HR的电话(谈实习offer)
2018.03.08 收到实习offer邮件
3.形式:电话面试
4.面试过程
一面——技术基础面(大约1个小时)
问题如下:
数组和链表的区别
排序算法,从稳定性分析

项目哪里用了MySQL?(面试官看了我的GitHub)

TCP、UDP的区别
Python多线程(不太会,没答出来)
GitHub项目里面哪里用了Java?
Java会不会内存泄漏?

Java能否多继承?
实际上通过内部类可以
Java里的hashmap、hashtable
哈希冲突的解决方式
比赛使用的数据量

说一下贝叶斯模型(自己尝试转移话题,换成讲SVM)
为什么用结巴分词?
情感分析用了snownlp,说一下算法原理,效果如何?为什么效果不好?
实习经历有做过前端,简单说一下情况
挖GitHub代码,教务管理系统是Java写得?新浪爬虫那个详细说一下。

开始围绕新浪爬虫提问(为什么做?遇到的问题?有没有碰到过死链?错误是如何解决的?)

算法题(没有撸码,讲的思路,要点是明确问题,表述清晰,有逻辑)

在一个数组中找两个不同的数字(剑指offer原题)
判断单链表是否有环?找到入口节点(剑指offer原题)

场景题
百度账号有男女之分,设有唯一标识ID(数字形式,0-2亿之间),数据量有1亿条。要求输入数字,输出是男?还是女?

bitmap

尽己所能地回答了,但感觉没有答到要点上,后来面试官提示用位运算,瞬间恍然大悟。

其他
为什么简历上写城市不限?(投的北京的,面试官是上海的)
北京or上海,你会如何选择?
投的哪个部门?
有没有其他想问的?
自主提问:部门主要是在做些什么业务?需要储备业务相关的知识吗?
回答:有一个阿拉丁的项目,很重要,而且特别有意思,能力方面还是注重基础,新人会有培训,基础好很容易进入状态。
表示感谢之后,愉快地结束电话。
全程感受:面试官人超级好,全程很耐心,还会适当引导我回答,快结束时不小心透露说帮我去找二面面试官,真的太感谢他了。
中间的挣扎
等了快2周,一直没有接到二面的电话,心里有点慌。然后鼓起勇气给HR发了邮件,因为只有这一个联系方式,决定拼一下,绝不放过“救命”的最后一根稻草。
二面——感觉是部门大佬面(大约1个小时20分钟)
1.全程挖简历
比赛和实习,你选一个详细聊(选了比赛)
怎么做的?讲细节(输入、输出、数据量、效果)
分词、词典怎么构建的?

不准的有多少?怎么解决的?效果如何?
有没有改进的空间?想过怎么改进吗?
结果/排名的那个数字表示什么?怎么算的?
主题模型讲一下
情感词怎么算的?
感觉是压力面,一直问到我答不上话,可怕。
2.挖GitHub代码(还是那个新浪爬虫的)
有没有试过多线程模拟并发?
如何找到一个进程?
socket如何统计个数?(没讲清楚)
3.操作系统
Windows和Linux内存管理对比(没答出
来,好慌)
4.网络
TCP和UDP的区别
回答时提到了拥塞控制,接着就问为什么会出现?

解决策略是什么?

回答了滑动窗口

又问滑动窗口怎么做的?没答出来

感觉是自己给自己挖坑啊!
socket是啥?

socket传输怎么实现的?(没说清楚)

5.算法场景题
用手机键盘输入字符串,输入首字母,后面就会跟着出现其他字符,是怎么实现的?

我的回答:从子串入手,一直在讲字符串子串相关的问题,分析算法复杂度(没有答到点子上,感觉悬)

面试官最后给的答案:用字典树解决(之前看到过trie树,但是不知道它就是字典树,没有好好研究学习,感觉亏大了)
全程感受:
面试官是技术大佬,问的都是原理,需要真的理解才能回答好。
电话是午饭时间打过来的,持续一个多小时,也是蛮辛苦的,还是很感谢他愿意花时间给我面试。
感觉自己还是有理解不到位的知识,这轮面试算是一个很好的查缺补漏的机会,发现要把基础知识再深入补充一下,以前学的都太浅了。
结束电话之后都不敢多想,只觉得认真对待这次面试,能在与面试官的交谈中学习到宝贵的经验,就是我最大的收获了。
中间的小插曲
和实验室的好多同学出去聚餐,刚回到实验室就接到北京联通的私人电话,心里想着会不会是百度的,结果还真是。秒速调节了一下心里状态,和电话那边的小姐姐正式开聊。
问:每周能实习的时间、能实习多久?、能持续半年吗?
答:每周能保证5天,计划3月份就过去,可以实习半年。真心想去,时间不是问题。
然后小姐姐就说等通知吧,挂断电话。
三面——HR面(大约7分钟)
这次来电换成了一位小哥哥。这才是正式的HR面。
问:
学术型硕士培养时间、什么时候毕业?
能实习多久?
实习结束的计划
导师同意外出实习吗?
系统记录有投递过产品经理,为什么会换岗位?
然后自己都据实一一回答了,HR小哥哥就说需要再和部门里反馈沟通一下,看是否符合需求,说很快会给确切通知。
自主提问:我人在外地,又没有北京户口,住房问题怎么解决?
答:公司不提供住房,但有补贴。具体按公司的规章制度发放。
至此,我再次感谢之后就挂断了电话。

作者:异地阳光。
链接:https://www.nowcoder.com/discuss/84201?type=2&order=3&pos=9&page=1
来源:牛客网

百度电话一面,感觉是个巨佬,一小时
1、自我介绍
2、详细讲解项目,遇到的问题以及解决方案

3、GC中如何判断对象需要被回收

4、哪些可作为ROOT对象

5、讲讲JVM内存模型

6、启动线程有哪几种方式,线程池有哪几种?
7、线程间回调

8、你多线程好像不太行,hashmap讲一讲?插入顺序是否和存储顺序一至?集合中哪个是插入顺序和存储顺序一至的?
linkedhashmap。
头插法和尾插法

9、bucket用链表存储的缺点?如何改进?

10、讲讲treemap

11、springIOC原理?自己实现IOC要怎么做,哪些步骤?

12、AOP原理? 讲讲动态代理

13、spring中各种context有什么功能,他们之间有什么联系?

14、leftjoin和rightjoin的区别?

15、讲讲TCP四次挥手,如何处理服务器大量端口处在timewait?

16、给你3个月的股票波动数据,求出能赚到的最多的钱(买一次卖一次)
sell 和 buy数组的dp问题

17、缓存中维护100个键值对(LRU算法)
链表。
二面
1、自我介绍
2、详细讲解项目,遇到的问题以及解决方案
3、二叉树的深度。。。。
4、打印二叉树每层的节点。。。。

感觉题目都特别基础。。然而LZ真的菜。。基础太重要了!(抱起深入理解jvm和剑指offer)

作者:旋律_melody

链接:https://www.nowcoder.com/discuss/76987?type=2&order=3&pos=8&page=0

来源:牛客网

美团大零售事业群 - 外卖配送事业部,内推的有点晚,所以仍然参加了笔试。笔试过后几天就接到电话约我面试。

2018/3/28 晚19:00 时长50多分钟 技术一面

本来约了晚上8点的,我六点左右出去吃饭的时候,电话就打过来了,问能不能提前,我说我现在出来了,但是7点肯定可以。18:57打来了面试电话。

  1. 自我介绍
  2. hashMap和ConcurrentHashMap的区别
  3. hashMap内部具体如何实现的
  4. 如果hashMap的key是一个自定义的类,怎么办
  5. 为什么重写equals还要重写hashcode
  6. ArrayList和LinkedList的区别,如果一直在list的尾部添加元素,用哪个效率高?
  7. 介绍一下Syncronized锁。如果用这个关键字修饰一个静态方法,锁住了什么?如果修饰成员方法,锁住了什么?
  8. 介绍一下volatile
  9. 多线程中的i++线程安全吗?为什么?
  10. 如何线程安全的实现一个计数器?
  11. 讲一下TCP的连接和释放连接。
  12. 讲一下浏览器从接收到一个URL到最后展示出页面,经历了哪些过程。
  13. 长连接怎么实现的
  14. GC工具用过哪些?
  15. 讲一下什么情况可以影响到新生代的回收速度。
  16. 写SQL:找出每个城市的最新一条记录(没写出来)

id 城市 人口 信息 创建时间

1 北京 100 info1 时间戳

2 北京 100 info2 时间戳

3 上海 100 info3 时间戳

4 上海 100 info4 时间戳

17. 编程题:写一个函数,找到一个文件夹下所有文件,包括子文件夹。

18. 淘宝的目录树,设计数据库的表和字段

19. 写代码,找到一个目录下的所有子孙目录(大概是这个意思,最终我也没听懂,因为我总感觉跟第17个问题一样)

20. 为什么选用springboot框架?

21. 平时怎么学技术?

22. springboot框架源码看过吗?hashMap的源码看过吗?

23. 学习中遇见了什么问题让你感觉印象最深刻?

24. 可以实习的时间

25. 你有什么想问我的吗

面试官很和蔼,特别好,面试过程中因为实验室断网,还电话面试了有20分钟。所有问题我不会的,他都耐心引导我回答出来问题。总之很喜欢他~~

2018/4/10 晚19:00 时长44分钟 技术二面

  1. 自我介绍
  2. 实验室的科研问题
  3. 情景题:如果一个外卖配送单子要发布,现在有200个骑手都想要接这一单,如何保证只有一个骑手接到单子?
  4. 介绍一下volitile。
  5. 分布式集群中如何保证线程安全?
  6. 介绍一下TCP的三次握手?每次发送了什么信号?如果去掉最后一次握手会怎样?
  7. 一个网页从输入URL到服务器接收到请求所经历的过程?
  8. TCP协议在哪一层?IP协议在那一层?HTTP在哪一层?
  9. 数据库索引介绍一下。介绍一下什么时候用Innodb什么时候用MyISAM。
  10. 介绍一下聚簇索引和非聚簇索引
  11. 介绍一下spring
  12. 知道什么设计模式
  13. 介绍一下单例模式?懒汉式的单例模式如何实现单例?
  14. 介绍一下策略模式
  15. 平时都看什么书
  16. 你有什么要问我的吗?
  17. 实习时间?

2018/4/12 晚20:06 时长5分钟左右 HR(不知道算不算面)

  1. 你好你通过了面试。
  2. 约入职时间。
  3. 你户口在哪?
  4. 说工资和餐补情况。
  5. 还有什么问题吗?

总的来说感觉美团面试还是很偏重基础的。

拿到了offer真开心~~

作者:G小白

链接:https://www.nowcoder.com/discuss/75490?type=2&order=3&pos=197&page=1

来源:牛客网

今天下午面的美团,官网给了三个面试时间,以为是被推迟了两次,结果就按着最后一个时间去的,在路上HR打电话问我怎么还不来,我才明白要三面。

从下午三点面到晚上八点,脑子有点蒙,只记得大概的一些问题了。

一面:

1.自我介绍

2.讲项目(项目和编程没太大关系,面试官估计不是很感兴趣)

3.HashMap是怎么实现的,还有hash()和equals()方法的区别(不是很懂面试官这个问题的意思,后来他举了个例子,说是本来两个对象使用equals比较可能是相同的,但是hash值不同,这样存入哈希表中不会被覆盖而是保留两个)

4.ConcurrentHashMap和HashTable的区别

5.JVM GC算法

6.synchronized关键字和Lock的区别

7.volatile的作用,回答可见性,问我什么是可见性,什么是原子性,然后引出来原子类和CAS

8.堆排序(手撕代码)

9.使用最大堆找出最小的K个数(说思路)

一面问题基本都答出来了,但是可能觉得我项目经历太薄弱他说让我等几分钟,然后回来问我什么时候能实习,我说下个月就可以,然后他说那你再等我几分钟,过了一会回来让我等二面。

二面:

二面面试官比较严肃,上来先逮着我迟到的事问了一通,可能跟这个有关系,然后二面就把我问懵了。

1.问我觉得自己笔试做的怎么样,觉得客观题Java部分做的怎么样

2.问我刚刚一面都问了什么问题,我重复到synchronized和lock区别的时候他让我再讲一次,然后细致地问我tryLock()在什么场景下用,公平锁和非公平锁的区别

3.问我对Java7、8的新特性有什么了解

4.然后问了一些网络相关的知识,http的请求有哪些,应答码502和504有什么区别,DNS寻址过程

5.Java5中的LongAdder和AtomicLong的区别(没用过,我说后者有Atomic是不是保证了原子性)

6.手撕代码,两个非常大的自然数相加,结果可能会超出long的范围,问我可以怎么做到正确显示结果(我把两个自然数转化成了String,然后分别对每一位相加再考虑进位,最后用一个StringBuilder对象储存再打印,开始代码写的有点乱,让我重新写了一遍)

7.用过MySQL吗(我说增删改查和索引),然后问我什么时候用索引,索引是用什么数据结构实现的(我说B树和红黑树,不同引擎不一样,具体的想不起来了)数据库事务隔离级别

8.linux指令用过哪些(我说ps -ef grep tar mkdir cat)他问我top用过吗(没有)

9.怎么打印日志(完全不知道)

10.还是GC,如果经常出现full GC怎么定位代码哪里出了问题

11.http1.1和1.0的区别

二面只记得这些问题了,大部分都没答出来,面完了感觉就GG了。

三面:

本来以为二面凉了就没有三面了,美团还是很尊重人的,面试官还是给面了一次。

开始以为三面是HR面,问我的问题和技术没什么关系

1.专业非计算机,为什么想来互联网

2.师兄师姐对你的影响

(我回答完他说你学校的本专业很强,其实可以在这方向做的很好。感觉可能是友好地劝退?)

3.然后看做的项目,让我介绍了项目中一部分,然后引出来socket通信怎么保证数据包接受完整,还有接收到的是想要的数据(开放性问题,感觉是考察解决问题的能力吧)

4.进程间通信是怎么实现的(我回答了信号量,共享内存,无名管道,命名管道,消息队列),然后让我详细说一下用管道是怎么实现的

5.死锁,写一个死锁的例子

然后就没有了,过了几分钟回来就把我送走了,也没说结果什么时候通知结果,应该默认是没过了,我问了一句结果什么时候通知,他说两三天吧。

还是自己掌握的不够透彻,细节理解的不到位,继续学习吧。

最后祝愿大家都能拿到offer。

作者:DeepSlient

链接:https://www.nowcoder.com/discuss/72124?type=2&order=3&pos=566&page=1

来源:牛客网

1、自我介绍

2、描述一下你的一个项目,纯curd,面试官都没啥可问的。

3、描述一下微信支付的过程,当时看了文档,早忘没了。

4、你自己实现的异步队列怎么监控有队列里有消息,答的也不太对。

5、你们用什么框架?答:spring、hibernate、struts2。struts2 是安全的吗,说一下原理。当时真是脑袋进水了,struts2没研究过,说springmvc好了。

6、场景题,有一个文件,每行数据的类型不定、文件大小不定,请设计一个上传的方案。没答上,GG。

总结:场景题没准备过,经验不足,算法也还不够扎实,继续努力吧。

作者:sdu王镜鑫

链接:https://www.nowcoder.com/discuss/74573?type=2&order=3&pos=368&page=1

来源:牛客网

美团一面 28min:

1、自我介绍

2、项目介绍

3、es倒排索引

4、es分词选型。ik分词器

5、volatile关键字

6、hashmap原理

7、数据库的锁

8、乐观锁悲观锁适用场景,怎么避免死锁

9、如何实现lru

10、聚簇索引和二级索引的加锁区别

美团二面 51min:

1、介绍项目

2、如何使用es将面试者进行分类

3、若干个投资者,若干个借款者,求最优的匹配策略(背包变形)

4、spring mvc如何处理一个请求

5、过滤器和拦截器

作者:Looken

链接:https://www.nowcoder.com/discuss/73074?type=2&order=3&pos=503&page=1

来源:牛客网

3月27号投了美团java后台,29号收到面试邀请,好像是金融服务平台(提交简历的时候,我当时没注意随便填的···)

一面:

介绍项目经历

根据简历问一些问题:比如我简历上有区块链相关,会要求介绍一下区块链

说一下常用的算法:递归、回溯、动态规划

动态规划好处、使用的条件

TCP三步握手,四步挥手

手写单例模式(本人太菜,写的不完整,面试官就说换个题目问我)

手写二分查找

二面:

介绍项目经历,问的比较细

根据简历问一些问题,也问到了区块链

输入www.meituan.com会发生什么

TCP三步握手,为什么要三步握手

java中map了解哪些,有什么区别

2G 内存 1T数据 如何找出前1000大的数,我说最小堆,他说还能更快嘛,我说分治,他说怎么分治,他让我说细节(本人太菜,细节我还是没讲清楚)

手写代码打印菱形

三面hr:

前面的面试官如何

说一下以前实习的公司如何,为什么不继续在那实习了,以前公司好不好,优点和缺点,多久能实习,实习有多久

自己的规划

有什么问题吗?我皮了一下,问了一下能不能转正。。

有一些细节忘记了,希望对大家有帮助!

作者:江山社稷

链接:https://www.nowcoder.com/discuss/72391?type=2&order=3&pos=545&page=1

来源:牛客网

4月4日 11:00 美团视频一面 43分钟 java开发实习生 19届 本科

(超级后悔因为电脑视频面试带耳机就没录音,因此真心提醒大家一定要录音)

小哥哥人超级好,沟通能力很强,能很快理解我的意思,并对我不明白的地方做出解释,而且思考问题的时候深邃,听我回答的时候认真,还很爱笑。

自我介绍

项目介绍

Java基础

熟不熟悉Collection,介绍一下list、set和map。

ArrayList和linkedList的区别?

ArrayList的动态扩容。

HashMap和HashTable的区别?

知不知道线程安全的其他Map?

Curreng.HashMap知道吗,current看过多少?

线程池是什么,为什么要使用线程池,它的直接子类都有什么?

如何实现线程池的单例?

项目中如何解决高并发的问题?

为什么以及多线程,单线程不好吗?

CAS是什么?

设计模式

用过啥设计模式?

什么时候会用到单例模式?

多线程的情况下,实现线程安全的单例模式需要注意什么?

为什么要用到工厂模式,它和直接new 有什么区别?

Jvm

说说java内存模型吧。

平时编程遇到过oom没?

那如何编程测试栈溢出?

算法

排序算法了解多少,手撕如何?

介绍一下插入和快排,他们的时间复杂度是多少?

数据库

数据库的话是Mysql还是Redis,都学了什么?

存储结构说说B 树吧。(我不会B 树,所以最后说了B树)

表数据量很大的情况下,如何优化,这其中有什么坑?

如果对A,B,C三列建立索引,where a=?and c=? 的时候会用到吗?

那如果where a=?and c=?and b=?的时候会用到吗?

深入交流

用没用过缓存?

那用Redis缓存数据时的注意事项都有什么,你不了解没事儿,现在想想?

怎么实现Mysql和Redis的数据一致性问题?

Jdk1.8都了解哪些?

Lambda表达式了解吗?

最快到岗时间?

我的问题到这里就问完了,你有没有啥问题想要问我的?

感受:

总的来说,跟小哥哥聊的还是非常开心的,他也教了我许多东西。

对于紧张:个人觉得无所谓紧张与不紧张,关键还是看水平,会的题在感觉到紧张之前已经答完了,不会的题肯定紧张啊,但也只能干紧张了。

作者:icysnowgx

链接:https://www.nowcoder.com/discuss/71954?type=2&order=3&pos=581&page=1

来源:牛客网

今天刚刚收到hr的电话,开心,简单记录一下美团的面经。时间隔的比较久了,简单回忆下,最后会给出我之前整理的别人的面经

一面

1点50开始一面的。简单自我介绍,问了下java基础的东西比如volite关键字,同步的方法,悲观锁和乐观锁等等。jvm相关的知识。线程池,B+树这些,差不多面试了40分钟的样子。当时面试官评价基础不是很好,其他还行。还以为凉凉了,没想到马上接到通知下午5点面。

二面

同样的先简单自我介绍了下,问了下项目。之后也是各个方面都问了下。java基础比如hashmap的源码,实现,里边用到了几个类(当时这个问题直接懵了)。courrentHashmap怎么实现的,linkedlist和arraylist有什么区别。cas是什么,怎么实现的,会有什么问题。tcp的三次握手四次挥手。设计模式有什么了解。当时说了一个责任链模式。又问了下责任链具体怎么实现,有哪几个类。然后问单例怎么实现。饿汉,懒汉,双重检测,为什么要双重检测。http的method有哪些。感觉各方面都问了一些。最后评价是还行但是没什么亮点。然后和我讲了很久应该怎么应对面试。要学会主动把话题引向自己的亮点等等。差不多面了快1个半小时的样子。

三面

隔了3天周四3面突然来电话。中午的睡觉手机静音了没接到。晚上5点多打过来的。问了下项目,然后介绍项目亮点。我准备说算法的结果说设计上的亮点。然后我说没什么亮点,也没处理高并发什么的。之后就不问项目了。问了下volite实现的原理,快排复杂度o(nlogn)是为什么。n是什么logn是什么。大概就20分钟吧。当时感觉就是凉凉了。

下周2查状态的时候突然变成了拟录取,当时感觉自己真的很幸运能通过面试。之后也没人联系我,还在想拟录取是不是就是备胎池备着的意思。期间也在牛客网上咨询过,基本都说是稳了。就等了一周

这周一的时候给二面的面试官发了个短信询问了下情况(因为木有hr联系过我),他说已经通过了hr帮我问问,之后今天接到了hr电话,算是拿到了口头offer了。

整体感觉美团的面试比较基础,但是各个方面都有涉及到。面试官人很好,面试过程中会不断引导你,面试完了我问他事情也很快就会恢复了。我现在比较后悔的是之前没怎么接触过高并发这块,感觉做的系统都是curd的简单操作,应该要好好包装一下自己的项目,搞几个亮点出来。

下面附上之前整理的美团面经

  1. volatile关键字的底层实现,volatile是不是原子性的
  2. 快排的时间复杂度
  3. java中线程如何交互
  4. java中的锁机制
  5. 悲观锁和乐观锁,应用中的案例,mysql当中怎么实现,java中的实现
  6. 长连接和短连接
  7. tcp为什么三次握手却要四次分手
  8. 泛型
  9. 常见的异常类
  10. 单例模式(线程安全,双重检查)
  11. spring了解(我面试的时候没有问)
  12. 常见的排序算法
  13. 线程和进程的区别
  14. 同步的控制方法
  15. integer与int区别
  16. 重写和重载区别
  17. hashmap与hashtable区别
  18. 常见的设计模式(一般是问你熟悉哪些)
  19. 抽象类与接口类区别
  20. 数据库索引
  21. java lock的实现,公平锁、非公平锁
  22. 多线程中断的原理
  23. B+,B-,红黑树,二叉搜索树,平衡搜索树
  24. 线程池(常见的线程池,各个参数的意义)
  25. 优化sql
  26. ACID,隔离级别
  27. JVM类加载机制
  28. JVM分区
  29. GC
  30. 垃圾收集器
  31. 还有一些常见的算法,链表啊树的等等

作者:DeepSlient

链接:https://www.nowcoder.com/discuss/71741?type=2&order=3&pos=603&page=1

来源:牛客网

约的4月2号下午四点面试,面试时间35分钟

1、自我介绍。

2、来聊聊基础吧,谈一谈什么是Map,怎么处理地址冲突。

3、说一说三次握手和四次挥手。

4、说一说HTTP协议是什么。

5、你知道HTTP的4个字母分别代表什么意思吗?懵逼,没关注过啊。

6、说说HTTPS。还没看到。。

7、说说Session和Cookie的区别。

8、来两道算法吧,链表倒数第K个数,刚说双指针三个字,就被叫停,问了另外一个,链表中倒数第K个大的数,我说用堆,他说可以,那时间复杂度呢,我说O(N), 连问我确定吗,左神讲的,我当然确定啊,然而他让我回去再看看,懵逼。

9、用过数据库吧,讲讲mysql的事务,讲讲事务的四种特性。

10、讲讲mysql的索引。

11、讲讲AOP。

12、讲讲MVC,我说成了三层结构,面试官说不对,让我回去再看看。

13、map不是线程安全的吧,那线程安全的是什么,你还知道什么线程安全的类,讲讲concurrentHashMap和AtomicInteger底层的原理。

14、用过redis吧,说一下redis有几种数据类型,zset和set有什么区别。

15、你用过什么异步消息队列,讲的叶神高级项目课里教的自己实现的异步消息队列。

16,你还有什么要问我的吗?问了下实习面试的结果对秋招有没有影响。

总结:投简历的时候笔试已经结束了,没参加在线笔试的情况下,被HR小姐姐电话连呼三天加邮件让参加电话面试,整的我自己都不好意思了。基础还是得多看。

作者:alive6

链接:https://www.nowcoder.com/discuss/71295?type=2&order=3&pos=644&page=1

来源:牛客网

3月1号投的内推,7号一面,15号二面,26号口头offer…时间跨度大的有点慌。

话不多说,面经如下:

一面:

1.自我介绍

2.ArrayList,LinkedList区别,适用场景。

3.HashMap为什么重新计算hash值

4.谈谈乐观锁

5.说说CountDownLatch

6.谈一下Spring IoC,IoC怎么创建的单例对象

7.Spring AOP

8.说一下Mybatis的事务…MySQL的事务

9.怎么进行索引调优的

10.MySQL索引的数据结构,使用B 树的原因

11.创建线程在内存模型中分配的位置

12.讲一下Full GC

13.垃圾回收算法

14.Cookie、Session

15.URL的请求流程

二面:

1.自我介绍

2.熟悉内存模型,说一下内存划分

3.堆怎么划分

4.新生代怎么划分

5.创建对象怎么保证线程安全

6.创建对象怎么分配内存

7.说说STW

8.Minor GC会STW吗

9.CMS垃圾回收器、G1垃圾回收器

10.虚拟机在加载类静态变量的时候是线程安全的吗,为什么、怎么实现的

11.HashMap和HashTable的区别

12.HashMap初始数组长度为16(为2的倍数)的原因

13.sleep和wait方法的区别

14.Java线程池

15.IoC的实现原理

16.IoC生成实例用的技术

17.AOP的实现原理

18.Mybatis的一二级缓存

19.git操作指令

20.MyISAM和InnoDB的区别

21.InnoDB的索引

22.redo log和undo log,redo log怎么保证持久性和原子性

一面时间太久了,现阶段只能想起这么多…以后再补充,感谢牛客!

大家加油!

作者:豆浆油条条条条条

链接:https://www.nowcoder.com/discuss/70930?type=2&order=3&pos=690&page=1

来源:牛客网

内推码内推,投完三天之后约面试

一面很简单,都是基础问答

首先问项目,项目挨个讲一下,问了具体实现的功能,如何实现的,然后之前是否接触过Spring,怎么学习的,大概学习多久

然后基础知识:

用自己的理解来讲一下面向对象,有哪些好处

gc操作

手写sql语句 学生表 : 学生 ID , 学生的姓名 单科成绩表 : 学生的ID, 成绩

存在学生旷考, 在成绩表中没有该生的成绩记录, 找到旷考的学生 然后找到成绩最大的学生姓名(存在很多人成绩都是最大的)

进程线程区别

进程间通信方式—– 管道 socket 信号量 共享存储 消息传递

java多线程并发导致的问题 脏读 死锁等

java如何处理多线程问题 synchronized关键字 同步块 volatile关键词 concurrent包里面的可重入锁,ThreadLocal局部变量

隔一天之后约二面

针对第三个项目,问能不能模糊搜索,项目问一堆,大概半小时

猴子吃桃 第一天n个桃,每天吃一半多吃一个,第10天剩一个 写递推方程

f(i) = (f(i+1) + 1) * 2 f(10) = 1

海量数据,8M内存,50%以上是一样的,问怎么找这个一样的数据是啥

写代码:

 8 1*8 + 7 6 2*(7+6) + 

3 9 1 3*(3+9+1) =

隔一天hr面

谈谈薪资,为什么选择美团,为什么想接触大数据,聊一通大概10分钟

隔一天电话offer

作者:JackyCheung

链接:https://www.nowcoder.com/discuss/69514?type=2&order=3&pos=855&page=1

来源:牛客网

美团三面:

面的上海的美团平台酒旅事业群,现场面试,连续面了三面,大概下午两点到五点。一起面的就不分开写面经了,大概是下面这么多问题。美团比较重视基础,简历上写到的基本都会闻到,所有大家写自己最擅长的,好好准备加油。现在也是在等消息,集一波人品。

  1. 进程与线程的区别?
  2. linux中的grep管道用处?linux的常用命令?
  3. 抽象类与接口?
  4. 重写重载的区别?
  5. 构造函数可以被重写吗?
  6. ArrayList和LinkedList区别?应用场合?
  7. 包装类与基本数据类型的比较?
  8. 如何看待java的跨平台性?
  9. 一致性哈希算法原理?虚拟节点?
  10. 分布式锁有哪些?怎么实现?
  11. Nginx负载均衡,负载均衡算法及特点?
  12. 多线程知道哪些常用类?ThreadLocal,Semaphore原理?应用场合?和分布式锁哪个工程中用的多?
  13. 线程池的实现?四种线程池?重要参数及原理?
  14. 为什么使用线程池?
  15. 为什么使用多线程?设计多少的线程数合适?
  16. 线程安全用什么?原子类,两个锁,volatile?可以用?
  17. volatile原理?
  18. Jvm新生代旧生代及其gc算法?
  19. AOF、RDB 持久化?区别?
  20. 什么时候使用缓存?
  21. redis的数据类型?
  22. redis的set的应用场合?
  23. redis高级特性了解吗?
  24. redis中的高级应用?
  25. redis的pipeline有什么用处?
  26. spring bean的管理,ioc aop原理?
  27. SpringMVC的一个流程?
  28. spring的注解?
  29. @Autowired和@Resource的区别?
  30. tcp三次握手?
  31. TCP和UDP的区别?
  32. 输入网址到显示页面的过程?
  33. Mysql优化的一个流程?
  34. 唯一索引,符合索引?符合索引可以是唯一索引吗?
  35. 索引数据结构?b+树?
  36. 最佳左前缀原则?
  37. 手写一个线程安全的单例模式?
  38. 两个数组合并成一个升序数组,去掉重复的数?[1,3,2,8,5]和[6,3,9]合并为[1,2,3,5,6,8,9]
  39. 手写冒泡,怎么优化?

项目的问题就不说了。。。

作者:lazyboots

链接:https://www.nowcoder.com/discuss/69453?type=2&order=3&pos=862&page=1

来源:牛客网

美团一面(50分钟)

1、spring的理解。

1、项目相关

2、Redis缓存的应用

3、http解析的全过程

4、Java中的锁

5、Hashmap和concurrenthashMap源码

6、死锁的避免

7、osi网络七层协议

8、编程题:找出一个最长子序列,是子序列的和为k的整数倍。

美团二面(50分钟)

1、AOP和IOC。

2、项目相关难点

3、Redis缓存的应用

4、数据库底层索引数据结构和原理。

5、Hashmap和concurrenthashMap理解

6、SpringMVC执行过程

7、编程题:找出M的数的从小到大前N的数。

8、sql语句的编写。

9、JVM运行时内存模型。

10、工厂模式和代理模式。

美团三面(60分钟)

1、spring用到的设计模式。

2、项目相关难点

3、Redis缓存的应用、消息队列、redis持久化策略。

4、数据库底层索引数据结构和原理。

5、编程题:无顺序数组的最大差(intdex1>index2)。

6、sql语句的编写。

7、门禁系统数据库设计.

8、工厂模式和代理模式。

9、cup负荷高时的排查方法。

 10、自己设计数据库连接池时需要的参数。 11、linux命令:查看cpu、查看文件列表。 补:还有磁盘冗余阵列(RAID)模型 

三面自我感觉没有面好,不过三道题勉勉强强做出来了 0 0 希望面试官给我过吧,听说面试官说实习生没有hr面,所以我的三面就是最终面,也有两面就拿offer的- -所以这个也说不上来,反正求过吧0 0

作者:NULL170

链接:https://www.nowcoder.com/discuss/69204?type=2&order=3&pos=886&page=1

来源:牛客网

美团一二面 面经

先是自我介绍,项目相关

面试官真得好评到爆炸 态度超级好

关于倒排索引你的理解;(因为项目中用到了solr)

项目相关,主要是问高并发怎么处理;

因为项目提到了BlockingQueue,聊了BlockingQueue


这是我主动谈的:

读写锁的实现,公平策略与非公平策略:说的比较细

Lock与sycronized的区别

sycronized的锁升级方式和策略:说的很细,因为是刚复习完的

乐观锁悲观锁(详细说,Java中为什么要有乐观锁和悲观锁,从线程的用户态到核心态的切换巴拉巴拉巴拉)

队列同步器


这是面试官主动问的

CAS的缺点

B+树特点(我谈论了B树与B+树相同和区别,以及B+树好在哪里)

B+树在MySQL中一般有几层(没答出来)

Spring AOP(我说拦截器也有这部分思想 他说宏观上一样但是实现上不一样 试图补救就说了AOP的两种实现方式JDK动态代理和cglib动态代理)


开放题:统计从有计算机开始到现在所有的互联网数据

PS:感觉面试官一直在寻找你擅长的,真得好到爆炸,好到流泪,不说了,现在就去点一个美团外卖。

美团二面(视频面试)

面试官上来让我直接介绍项目:我就挨个点说,遇到他感兴趣的就会停下来细说,这个大家借鉴的意义不大,

只能说自己的项目一定要熟练并且细节的实现也要讲的清楚吧。因为项目中用到了一些设计模式和前缀树,还有设计的异步框架,这几个详细问了。

再就是问了redis的RDB和AOP的优缺点。

然后问我,我能问你数据库么?(笑,就感觉挺逗的)

数据库:

关于索引你知道哪几种?很紧张,鬼使神差答了B树B+树,他说不是指的这个。然后说了主键索引,唯一索引,组合,全文。

问了组合索引的最左匹配原则,又问组合索引底层怎么实现的(这个就真不会了)

问了主键索引的特点,存储方式(存储方式胡说的,回去复习发现错了)

好,我们来写几道题吧。。。(唉 本次面试最大的败笔,自认为算法准备的比较充分)

1:给你一个数从1开始只能+1或者*2,问最少多少步到达这个数(这么简答的题,但是当时脑子就很空白,愣是不愿意想,关了视频就想出来了,感觉还得多积累面试经验啊)

因为第一个没答出来,又问了一个

2:给你一个数组,一个函数有起始索引和终止索引,我要求这两个索引之间的数的和,怎么优化。

这个还好写出来了

接下来就是 神一般的操作的

问我这学期有啥课 我说Linux 和 分布式

问了几个问题 我说我刚开学 啥也不会啊(苦笑 为啥脑子抽了 给自己找刺激)

开放题:怎么估算我公司现在的总人数,就是这个大楼里面现在的总人数?

答的很傻,真心傻,答完感觉特凉

不过因为邮件重发的问题我给总机打了几个电话,第二天晚上HR加了我微信说我过了,别慌,我说还有几面,HR说只有两面,后面会发邮件 ,

想问问有没有大佬跟我一样的情况啊,就很虚,因为邮件一直没发,菜鸡心是真得虚啊。求问,三面的大佬 指教我一番

作者:虚空的虚空,凡事都是虚空

链接:https://www.nowcoder.com/discuss/69172?type=2&order=3&pos=889&page=1

来源:牛客网

先干货

一面:

1.Java和PHP的区别

2.讲讲,链表,队列,栈,和它们之间的关系

3.AOP原理,事务

4.介绍新技术,SpringBoot,SpringCloud

5.redis,适用哪里,优缺点

6.单例,动态代理

7.Linux命令,查看项目部署方面

8.一个上线的项目出了bug,一个正在做的项目,一个测试部测试出来,要求要解决的bug,先解决哪个?

二面:

1.写sql,学生表,课程表,成绩表,一条sql写出每门课程的及格和不及格的学生数量。

2.有一个单向链表,长度未知,求倒数第M,N个位置的元素。

3.Spring两大特性是什么?

4.自己实现怎么实现IOC?

以前都是看别人的面经,今天自己去面试了,这是我的第一个技术类面试。

前些天看到了美团的内推,扫码进去就报上名了,今天去的面试。

一面:

先自我介绍,由于我简历上写了PHP,就问我Java和PHP的区别,我说了一些,面试官说这都是php的优点,我就又说一些java的优点。

我说我喜欢Java的面向对象,就问我面向对象,我解释了下,就让我写代码实现下,我就写了继承。

然后问我你擅长哪里,我没有啥擅长的,就说我不擅长数据结构与算法,所以额外学了些,就问了解哪些数据结构,我说了一些。

问我,链表,队列,栈之间的关系,最后也没说明白。

问了AOP的实现原理,还有事务。

我简历上写的对新型基数有青睐,就问了我了解哪些新兴技术,我就说了SpringBoot,SpringCloud。

问还有什么就说了,redis,然后问,适用于哪里,有什么优点缺点。

还问了单例,动态代理(没答上)。

简历最后写了了解Linux,就问我知道哪些基本命令,然后问我知不知道项目部署到服务器上,怎么查看状态之类的,我说不知道。

最后,问了个非技术问题,一个上线的项目出了bug,一个正在做的项目,一个测试部测试出来,要求要解决的bug,先解决哪个?

我说,先上线,在测试部,在自己的项目,线上的项目关闭几小时都会带来巨大的损失。

又问我自己只剩半天时间了,这半天时间刚好能完成项目,怎么办,

我就说,首先避免这个压时间交项目,如果这样了就只能加班解决。

让我等一会,二面面试官来了,两个面试官。

二面:

先写个sql,学生表,课程表,成绩表,一条sql写出每门课程的及格和不及格的学生数量。(没写上来)

有一个单向链表,长度未知,求倒数第M,N个位置的元素。(说的也不好)

Spring两大特性是什么?

我说,AOP,IOC,解释了下。

问我自己实现怎么实现IOC,我说了下,就感觉这个说的还行。

最后让我等消息。

总结:

一面时的问题,大部分是问简历上写的,然后有的问题在深入问。

二面的时候就是具体的题了,sql确实没有练习,应该加强练习,算法题也不一定要写出来,思想很重要,以后多刷题。

作者:policedog

链接:https://www.nowcoder.com/discuss/69152?type=2&order=3&pos=892&page=1

来源:牛客网

美团真的是效率快,周一投的简历,周三来的邮件约面试,周四上午HR来电话又约的今天的电面。

一面

让先自我介绍

说项目,问项目架构的原因,为什么这么实现,然后问项目细节,具体实现,为啥后端缓存要用redis。项目问的比较细

synchronied和lock有什么了解吗,说一下这两个。

具体解释一下可重入锁,为啥叫可重入锁

多线程池用过吗?为啥要适用线程池,线程池的内部参数有哪些,什么含义。如果让你来设计一个线程池你会怎么设计

volatile关键字,有啥作用,重排序,内存屏障

多线程的使用场景

Java内存模型了解多少,说一下。

JVM内存划分是怎样的,详细说一下

GC算法

怎么判断一个对象是否需要垃圾回收

分别解释引用计数法和GCRoots可达性分析法

分代收集算法,说说你了解的垃圾收集器

具体说说CMS收集器和G1收集器

知道hashmap吗?和hashtable和currentHashMap对比

为啥hashtable和currenthashmap都是线程安全的但是hashtable效率低一些?

说说currenthashmap的分段锁

问hashmap并发访问时容易出什么问题

并发访问时链表成环原因

MySQL数据库存储引擎知道多少

innodb和MyISAM区别

索引知道多少,哪些情况下索引会失效

数据库事务并发访问的几个问题

MySQL的事务隔离级别

mybatis和hibernate的区别

知道多少设计模式

线程安全的单例模式,双重检查锁

TCP与UDP的区别

TCP的三次握手和四次挥手的流程

你平时怎么学技术的,看过源码吗?看过哪些书

消息队列了解多少?不了解没关系,你自己认为的消息队列的应用场景

分布式技术有多少了解

一个简单的算法题。问如何用两个队列实现栈

自我评价,有什么优点,不足,今后技术上学习的打算.

过来不到二十分钟就来电话二面了,脑袋还是晕乎乎的

二面

什么时候毕业,能实习多久

项目是实际的项目还是学校的课设

平时怎么学习的,看过什么书。

内存泄漏了解多少,想办法写程序把堆内存搞垮,把栈内存呢?方法区呢?

Java虚拟机栈里面放的什么东西?

方法区里面放的什么东西?

怎么用减法实现除法,怎么优化?

归并排序

其他排序算法

25匹马 有5个跑道,没有计时器,怎么找出最快的5匹马

数据库的范式了解吗?分别说一说

数据库的事务并发会出现什么问题

解释脏读,幻读,不可重复读,说一说事务的ACID

如何把一棵树存在数据库中,怎么优化存储的结构

给了一个场景让进行SQL设计,然后优化

索引一般怎么优化,索引底层了解多少,hash索引呢

你有什么要问我的吗

最后,大家记得找一个安静信号又好的地方啊,面试来的仓促,教学楼的信号真的不太好,有好几个问题听的很模糊,问了好几遍,搞得自己更紧张了?。

二面结束的比一面快,但是问的更加深入。一面刚刚完就二面了,脑袋还迷糊,感觉答的很不好,一首凉凉送给自己。春招第一次面试,非常紧张,面试官都和我说了两次你不用紧张,想到啥说啥,美团的面试官都挺好的,都会提示你思路。自己需要加强的地方还很多,与牛友们共勉吧。

作者:unbelievableme

链接:https://www.nowcoder.com/discuss/68945?type=2&order=3&pos=917&page=2

来源:牛客网

美团一面:45分钟

1.介绍项目

2.redis的consistent hash算法

3.consistent hash算法怎么实现均衡性

4.为什么能保证均衡性

5.java中线程如何交互

6.volatile关键字的底层实现,volatile是不是原子性的

7.除了volatile,java还有什么地方用到了内存屏障

8.java中的锁机制

9.悲观锁和乐观锁,应用中的案例,mysql当中怎么实现,java中的实现

10.spring aop怎么实现

11.除了jdk和cglib还能怎么实现

12.jdk动态代理和cglib区别

13.cglib的底层实现

14.spring事务底层实现原理

15.项目中用到的设计模式

16.代理模式和外观模式的区别

17.装饰模式和代理模式的区别

18.http2.0和1.1和1.0的区别

19长连接和短连接

20.tcp为什么三次握手却要四次分手

21.算法:有序数组去重(10分钟手写,拍照发送)

已经凉了所以把面经发出来,学会了一个词:底层实现

作者:小橙子coder

链接:https://www.nowcoder.com/discuss/68688?type=2&order=3&pos=954&page=1

来源:牛客网

  1. 一上来直接聊实习,项目相关
  2. java和python区别,java有虚拟机,那python也有啊,还有其他的区别吗
  3. 项目为什么要用爬虫
  4. solr和mongodb的区别,存数据为什么不用solr
  5. 看你用过meteor,说一下,实时刷新数据,后端nodejs,那实时刷新数据如何实现,底层是什么协议,你猜猜。。。
  6. 10000行数据,每一行有重复数据,统计每个数字的次数,详细把代码说下,一开始直接说了用分冶,他说你没听懂题目吗。。。然后我说数据结构用hashmap,具体代码呢,遇到null如何处理,getOrDefault
  7. 还有啥想问的吗,想再面会儿吗

凉~~

作者:蜕变与成长

链接:https://www.nowcoder.com/discuss/68181?type=2&order=3&pos=988&page=1

来源:牛客网

1、hashMap的2倍扩容机制为什么是2倍

2、在java8和java7中,hashMap的hash函数有什么不同

3、100个数字排序怎么做?100万个数字排序怎么做?

4、设计模式你了解哪些?说一说

5、valitile关键字你知道吗?

6、synchrolzie关键字和Lock的区别你知道吗?为什么Lock的性能好一些?

7、线程池的几种实现你知道吗?

8、ArrayList和LinkedList你知道吗?你知道它怎么动态扩容的吗?

9、数据库的事务你知道吗?acid特性;

10、Mysql中事务的级别你知道吗?脏读、不可重复读、幻读你能解释一下吗?

11、Mysql的索引的数据结构你知道吗?B+树和B-树你能解释一下吗?

12、索引的类型,辅助索引和主键索引能解释一下吗?

13、你知道Mysql的引擎有哪些吗?能解释一下吗?

14、一个青蛙跳台阶,一次可以跳一步和两步,如果一共有N个台阶,可以有几种跳法?

15、Linux你知道吗?你知道怎么看内存、cpu、文件的句柄吗?

16、你能解释一下Linux的软链接和硬链接吗?

17、你能说一下内存模型吗?

18、你知道GC的那些算法?

19、你了解RPC吗?

20、kafka的topic、partion能解释一下吗

作者:春招0offer

链接:https://www.nowcoder.com/discuss/68107?type=2&order=3&pos=991&page=1

来源:牛客网

2018春招

Java后台面试题(电话面试)

一面题目:

integer与int区别

重写和重载区别

hashmap与hashtable区别

stringbuffer是否安全

解释工厂模式

抽象类与借口类区别

解释多线程

解释final

把ip地址转化成mac地址的协议是什么协议(叫什么名字)

解释OS中断

那些数据结构是有序的:有序set

数据库的知识,关于索引

编程题:

递归实现斐波拉契数列

二面题目:

equal()与==的区别

string中equal()怎么 实现的?

string在java中是怎么实现的?

linux提取日志第一列语句

violated的含义

http状态吗中302代表什么含义?

解释可重入锁?

判断数据库的一个语句?

微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。(关注公众号后回复”Java“即可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java程序员面试指南等干货资源)

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

原文链接:https://yq.aliyun.com/articles/639800
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章