”面霸“19年夏派卧底阿里、百度、美团等大厂带来面试题及答案!

面试,难还是不难?最终结果好还是不好?取决于面试者的底蕴(气场+技能)、心态和认知以及沟通技巧。而一些主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴)更是需要你在面试时展现出自己的能力,从而获得面试官的欣赏和肯定。

而程序员在应聘时更是需要经历层层面试。俗话说,磨刀不误砍柴工,做好面试前的准备工作可以帮助大家更好的应对面试官的问题以及面试中的突发情况。那么我们一起来看看大型互联网公司的面试题吧!(因篇幅问题,答案我这里就没有一一解答了,如有需要,可以看我的主页介绍,上有资料面试获取方式!)

阿里面试

1、开发中Java用了比较多的数据结构有哪些?

2、谈谈你对HashMap的理解,底层原理的基本实现,HashMap怎么解决碰撞问题的?

3、这些数据结构中是线程安全的吗?假如你回答HashMap是线程安全的,接着问你有没有线程安全的map,接下来问了conurren包。

4、对JVM熟不熟悉?简单说说类加载过程,里面执行的哪些操作?问了GC和内存管理,平时在tomcat里面有没有进行过相关的配置

5、然后问了http协议,get和post的基本区别,接着tcp/ip协议,三次握手,窗口滑动机制。

6、开发中用了那些数据库?回答mysql,储存引擎有哪些?然后问了我悲观锁和乐观锁问题使用场景、分布式集群实现的原理。

7、然后问了springmvc和mybatis的工作原理,有没有看过底层源码?

百度面试

1、Dubbo超时重试;Dubbo超时时间设置

2、如何保障请求执行顺序

3、分布式事物与分布式锁(扣款不要出现负数)

4、分布式session设置

5、执行某操作,前50次成功,第51次失败a全部回滚b前50次提交第51次抛异常,ab场景分别如何设置Spring(传播性)

6、Zookeeper有哪些用

7、JVM内存模型

8、数据库垂直和水平拆分

9、MyBatis如何分页;如何设置缓存;MySQL分页

10、熟悉IO么?与NIO的区别,阻塞与非阻塞的区别

11、分布式session一致性

12、分布式接口的幂等性设计「不能重复扣款」

美团面试

1、最近做的比较熟悉的项目是哪个?画一下项目技术架构图

2、JVM老年代和新生代的比例?

3、YGC和FGC发生的具体场景

4、jstack,jmap,jutil分别的意义?如何线上排查JVM的相关问题?

5、线程池的构造类的方法的5个参数的具体意义?

6、单机上一个线程池正在处理服务如果忽然断电该怎么办?(正在处理和阻塞队列里的请求怎么处理)?

7、使用无界阻塞队列会出现什么问题?

8、接口如何处理重复请求?

9、具体处理方案是什么?

10、如何保证共享变量修改时的原子性?

11、设计一个对外服务的接口实现类,在1,2,3这三个主机(对应不同IP)上实现负载均衡和顺序轮询机制(考虑并发)

滴滴面试

1、自我介绍,技术特点

2、兴趣是什么,优势是什么

3、jvm,jre以及jdk三者之间的关系?

4、Dubbo的底层原理,Zookeeper是什么

5、cincurrentMap的机制;TreeMap;Volatil关键字

6、快速排序;广度优先搜索(队列实现)

7、缓存的雪崩以及穿透的理解?

8、HashMap的key可以重复吗?

9、synchronized和lock的区别?

10.开发一个大型网站你会考虑哪些问题?

本次卧底面试得到的结论

我这里还特意整理了一下目前互联网大企面试出现频露较高的一些题,基本能覆盖到你的知识体系的一些问题。这里有Java的也有Android的。

  1. Java IO流的层次结构?
  2. 请说出常用的异常类型?
  3. SKU的全称是什么,SKU与SPU的区别及关系?
  4. FileInputStream 在使用完以后,不关闭流,想二次使用可以怎么操作?
  5. 设计一个分步式登录系统?
  6. Spring加载过程?
  7. 自己有没有写过类似Spring这样的AOP事务?
  8. Java中 try..catch 关闭流的语法糖?
  9. 如何设计一个秒杀系统?要考虑什么?
  10. 有没有遇到进线上GC,出现的症状是什么样的,怎么解决的?
  11. spring的加载过程?
  12. atomic 与 volatile的区别?
  13. Thread的 notify()给notifyAll()的区别?
  14. notifiy()是唤醒的那一个线程?
  15. Thread.sleep()唤醒以后是否需要重新竞争?
  16. 单例有多少种写法? 有什么区别? 你常用哪一种单例,为什么用这种?
  17. 问一个Thread.join()相关的问题?
  18. 商品相关模块系统怎么设计数据模型?
  19. 写一个JAVA死锁的列子?
  20. 如何解决死锁?
  21. GC回收算法,及实现原理?
  22. HashMap数据存储结构? key重复了怎么办? 是如何解决的?
  23. Spring AOP的实现原理,底层用什么实现的?
  24. 缓存的使用,如果现在需要实现一个简单的缓存,供搜索框中的ajax异步请求调用,使用什么结构?
  25. 内存中的缓存不能一直存在,用什么算法定期将搜索权重较低的entry去掉?
  26. TCP如何保证安全性
  27. 红黑树的问题,B+数
  28. JDK1.8中对HashMap的增强,如果一个桶上的节点数量过多,链表+数组的结构就会转换为红黑树。
  29. 项目中使用的单机服务器,如果将它部署成分布式服务器?
  30. 算法和数据结构数组、链表、二叉树、队列、栈的各种操作(性能,场景)
  31. 二分查找和各种变种的二分查找
  32. 各类排序算法以及复杂度分析(快排、归并、堆)
  33. 操作系统:进程通信IPC(几种方式),与线程区别
  34. OS的几种策略(页面置换,进程调度等,每个里面有几种算法)
  35. 互斥与死锁相关的
  36. linux常用命令(问的时候都会给具体某一个场景)
  37. 并发和多线程(线程池、SYNC和Lock锁机制、线程通信、volatile、ThreadLocal、CyclicBarrier、Atom包、CountDownLatch、AQS、CAS原理等等)
  38. JVM(内存模型、GC垃圾回收,包括分代,GC算法,收集器、类加载和双亲委派、JVM调优,内存泄漏和内存溢出)

哎,基本就整了这么多,当然还有一些比较模糊的问题,不太好整理,暂时没有整理。
看了这么多问题我心里不觉有一句话:工作的时候,用得着这么多东西吗?同是猿类,程序员何必为难程序员呢。。。。

面试资料获取可以看我的主页介绍,上有资料获取方式!(诚意满满)

好了,废话不多说,以下是我帮大家收集到的面试讲解视频,各位收好:

面试资料获取可以看我的主页介绍,上有资料获取方式!(诚意满满)

部分资料截图

推薦閱讀更多精彩內容