我的大厂面经分享:抖音三面+腾讯四面+PayPal四面

双非一本非科班,以前在百度和字节实习过,此次其实没抱着什么特别大的但愿投递,没想到字节能够再给我一次机会,仍是挺开心的。java

几场面试下来,面试得自信,声音自信,给面试官一种你啥都会稳如狗的感受(实际心里慌得不行...),而后表达流畅,吐字清晰,不卑不亢,说话要有逻辑性,不能吞吞吐吐半天说不明白,得总结本身的面经,造成本身的知识体系,别人的面经写的再好也是别人的,本身刷面经总结本身不会的点整理出来才是最有用的面试

下面是面试经历所有写的是技术面试,hr面就没写了算法

1. 抖音

整个面试过程,主要围绕算法和实习经历考察,基础知识的话不是很难。每一面的面试官都很nice,特别是三面的面试官,感受在讨论的时候没有带着面试的压力,就是朋友之间的对话。spring

抖音一面(60分钟)数据库

  1. 自我介绍编程

  2. 说下TreeMap和LinkedHashMap设计模式

  3. TreeMap怎么按照本身想要的顺序排序数组

  4. ConcurrentHashMap怎么取的size值缓存

  5. 怎么防止恶意请求刷接口tomcat

  6. 那ES怎么切词的呢,有写过切词插件吗

  7. 你在项目中用Redis的场景

  8. 说下Redis有哪些数据类型

  9. Redis怎么分片的

  10. Redis的删除策略

抖音二面(60分钟)

  1. 你但愿你处于一个什么样的工做环境

  2. 怎么根据0-5随机函数获得0-8随机函数

  3. 缓存和DB之间怎么保证数据一致性

  4. 延时消息队列怎么设计Redis的zset

  5. zset作延时队列会有什么问题死循环轮询耗时

  6. 说下索引二八原理、提高读性能牺牲写性能的数据结构一个索引对应一颗B+树哈希、有序数组、二叉树查询的优缺点那为何不用跳表呢?

  7. 火车票区间查询怎么设计数据结构好比上海去武汉,途经南京、合肥如今要快速查询出两点之间票的库存

  8. 手撕代码,leetcode54螺旋矩阵

抖音三面(60分钟)

  1. 手撕代码,模拟微信群随机红包,输入金额、人数,返回金额数组;注意最小单位分;

  2. 聊项目,项目中的难点、模块而后还问了一些依赖模块的底层实现

  3. 项目的数据量以及QPS能达到多少

  4. 说下RPC,与HTTP的区别

  5. 你来字节最想获得什么我说但愿技术能日新月异,面试官说你别说的太虚,实实在在的说...

  6. 你有什么想问个人吗

2. Paypal

 

Paypal 一面(60分钟)

  1. 聊项目,说项目中的模块、技术难点

  2. 聊下ES内部的一些机制

  3. ForkPoolJoin相对于线程池的优势,及底层实现

  4. 详细说下CMS和G1收集器

  5. CMS怎么处理垃圾碎片的

  6. GC Root有哪些

  7. String的intern方法有什么用

  8. 说下公平锁、非公平锁,为何非公平锁性能更高

  9. CAS的三个问题及解决方案

Paypal 二面(60分钟)

  1. 说下项目中的难点

  2. 说下多线程中有哪些锁

  3. volatile关键字原理

  4. 说下ES的底层实现

  5. 大数据Spark、Hadoop、MapReduce有了解吗

  6. 100万的数组怎么求最小的100个数字和最大的100个数字

  7. 手撕代码,leetcode378有序矩阵中第K小的元素

Paypal 三面(60分钟)

  1. leetcode121买卖股票的最佳时机

  2. JVM调优

  3. 详细说说偏向锁、轻量级锁、重量级锁问

  4. 新生代配合CMS收集器用的什么收集器

  5. JVM里面会有几个栈

  6. 为何synchronized演变成重量级锁后性能会降低

  7. kafka有没有用过

  8. Redis怎么保证高可用主从机制,哨兵机制

Paypal 四面(60分钟)

  1. 问我机器学习和大数据这块熟不熟悉答不会面试官说那我问你些java相关的问题

  2. Spring Boot内部怎么实现像tomcat那样直接把war包扔到某个目录而后运行起来整个项目

  3. Spring Boot很大的jar包里面好比说有个lib目录,那这个lib若是让你去加载,怎么加载

  4. 你怎么深刻的去学习JVM的

  5. 你怎么去看的虚拟机的内存

  6. Jconsole和VisualVM会拿到内存占用的一个趋势,那你以为什么样的趋势才是合理的

  7. Full GC和OOM时,我怎么知道是哪一段代码引发的内存溢出和泄漏

  8. G1收集器有没有Full GC线上服务GC日志有没有看过,G1 GC会有什么关键词

3. 腾讯

腾讯 一面(75分钟)

  1. 自我介绍

  2. 哈希和红黑树的特色和应用场景

  3. 说下time wait,出如今哪一端,什么缘由会致使time wait过多,怎么解决

  4. TCP和UDP的区别

  5. 用过什么微服务的框架

  6. 项目中怎么实现负载均衡的NginxF5

  7. 为何一年不到就出来看机会

  8. 为何不用MySQL的分库分表,直接用ES

  9. ES索引里面都存储了哪些字段

  10. 调度平台模块是怎么调度的,什么时间调度,让你设计怎么实现

腾讯 二面(60分钟)

  1. ES的倒排索引

  2. 了解分布式事务吗

  3. MySQL的事务隔离级别

  4. MySQL的主从备份机制

  5. 数据库的表结构设计有哪些经验

  6. 数据库的分库分表

  7. 关键帧提取的原理

  8. 限流怎么实现的

  9. DB和缓存怎么保证数据的一致性

腾讯 三面(40分钟)

  1. 怎么保证缓存和DB之间的数据一致性

  2. 缓存穿透、缓存击穿、缓存雪崩区别及解决方案

  3. 怎么预估热点key,怎么解决热点key问题

  4. 缓存的淘汰策略

  5. CPP会吗

腾讯 四面(170分钟)

  1. 哈希存在的问题

  2. Redis有序集合底层实现

  3. 为何用跳表不用红黑树

  4. MySQL索引为何用B+树不用红黑树

  5. zset有什么应用场景

  6. 为何用ES不用MySQL

  7. 项目的数据规模

  8. 为何ES和MySQL都是基于磁盘,ES的查询性能要高

  9. 面试官让我共享屏幕讲项目,边讲边问

面试结束复盘查漏补缺

面试本质是一个自我优点展现的过程,不要把面试变成面试官问一句本身回答一句,主动抛出一些可能的点等面试官来问,好比我基本都被问到了DB和缓存之间怎么保证数据的一致性,其实都是我本身刻意往上引的,好比面试官说,你用过Redis吗,你能够说,用过,通常用来做为缓存配合MySQL提升性能,须要注意它们之间数据的一致性问题(不要太刻意,本身把握分寸),面试官大几率会接着问你是怎么保证的

如下我最新总结的大厂Java必考题范围和答案,内容点包含有java集合,jvm,并发编程,spring,mybatis,springMVC,微服务,Dubbo,netty,网络,zookeeper,kafka,rabbitMQ,readis缓存,数据库,设计模式 等一线大厂互联网大厂常问到的面试真题,感兴趣的朋友,能够点击这里,暗号4399!

面试题及答案总结

 

 

刷面试题

 

 

 

 

 

知识点最全的java面试宝典(共227页)

 

代码写的烂才是原罪?字节三面+微信四面+PayPal四面,大厂面经分享

 

实战笔记

 

 

 

获取方式:点击这里,暗号4399!

不要眼高手低,很多小伙伴看面经以为本身啥都会,可是本身会与面试过程当中能清晰有层次的说出来是两回事,而且本身会到什么程度,有个说法很好,判断你是否是真的掌握一个知识的一个点在于你能不能经过通俗易懂的语言教会一个彻底没有相关知识背景的人,若是这能够作到,那对知识的掌握必定是融会贯通的,面试过程当中必定能够信手拈来。好比volatile关键字的原理,能不能说出点面试官眼前一亮的东西,和别的同窗走马观花不同的感受,这仍是不容易的

相关文章
相关标签/搜索