美文网首页
拼多多 Java 方向面经

拼多多 Java 方向面经

作者: 易轩風楊 | 来源:发表于2020-10-27 14:10 被阅读0次

第一篇

一面 2019/4/15 牛客网

1、自我介绍

2、介绍一下 mysql 索引?为什么用 B+树?

3、网络 IO 模型?什么是多路复用 IO?select 和 epoll 的差别?select 具体过程?

4、Java 类加载机制?双亲委派模型的好处?

5、进程和线程的区别?线程是不是越多越好,为什么?操作系统怎么调度的,调度算法?

java 中 cpu 调度 6、是线程还是进程?

7、数据库事务?隔离级别?

8、Java 线程变量怎么实现的?内存模型?

9、手撕代码

10、用数组模拟循环链表

11、堆排序实现

12、JAVA 并发包组件了解多少

13、线程的一个状态转换图

14、HashMap 和 HashTable 以及 CocurrentHashMap 详细说明

15、SpringMVC 的整个执行流程

二面2019/4/15 来自于牛客网

1、自我介绍

2、数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考

虑什么?怎么解决分库分表?

3、数据库事务特点?事务隔离级别?项目中的事务实现?脏读、不可重复读、幻读各举个

例子?

4、Spring bean 的生命周期?默认创建的模式是什么?不想单例怎么办?

5、谈谈 Kafka 和 ZooKeeper 了解情况?

6、设计模式,单例模式,怎么保证线程安全?锁效率太低,怎么提高效率?CAS?CAS 本质是什么?什么是原子性?Compare and Swap,为什么能保证原子性?分布式锁?

7、还有什么设计模式?工厂模式有几种,都讲讲?

8、数据库表怎么设计的?数据库范式?设计的过程中需要注意什么?enum 类型的值一般怎么存?如果有一个十几位的小数为了不丢失精度怎么存?tinyint 几个字节,int 几个字节?

第二篇

一面 2019/4/22 来自于牛客网

1、项目

2、笔试题,循环小数,说一下思路

3、说一下 SpringMVC 和 Spring,hibernate

4、MySQL 数据库和 Redis 说一下

5、分布式锁怎么使用,setnx 和设置超时是两条指令,怎么保证原子性,可以使用 lua 脚

本保证在事务中执行 6、你们的 Redis 是怎么用的,如何做缓存更新

7、jvm 内存分区,线程池工作原理

8、算法题,abbaabbaaa 这样的字符串,怎么变成 aaabbbaaa,这种形式的字符串。其中

a 和 b 的个数都可以是 0 到 n 个

二面

2019/4/22 来自于牛客网

1、拿了几个 offer 了 2、对拼多多有什么了解

3、我们工作压力大你能接受么

4、薪酬你预计要多少

5、城市选择问题

6、职业规划

第三篇

一面 2019/11/21 来自于牛客网

1、聊项目

2、Java 中的 HashMap、TreeMap 解释下?

3、TreeMap 查询写入的时间复杂度多少?

4、ConcurrentHashMap 怎么实现线程安全的?

5、HashMap 多线程有什么问题?怎么解决?

6、CAS 和 synchronize 有什么区别?都用 synchronize 不行么?

7、get 需要加锁么,为什么?

8、volatile 的作用是什么?

9、给我一张纸,画了一个九方格,都填了数字,给一个 MN 矩阵,从 1 开始逆时针打印这

MN 个数,要求时间复杂度尽可能低,可以先说下思路

10、有什么想问我的?

二面 2019/11/21 来自于牛客网

1、自我介绍下

2、手上还有其他 offer 么?

3、部门组织结构是怎样的?

4、系统有哪些模块,每个模块用了哪些技术,数据怎么流转的?给了我一张纸,我在上面

简单画了下系统之间的流转情况

5、链路追踪的信息是怎么传递的?

6、SpanId 怎么保证唯一性?

7、RpcContext 是在什么维度传递的?

8、Dubbo 的远程调用怎么实现的?

9、Spring 的单例是怎么实现的?

10、为什么要单独实现一个服务治理框架?

11、谁主导的?内部还在使用么?

12、逆向有想过怎么做成通用么?

13、有什么想问的

第四篇

一面 2019/7/29 来自于牛客网

1、说说 8 种数据结构

2、栈和队列的区别

3、生活中栈的例子:真没想到,这是我整场面试里唯一不会的

4、算法题:口述,还是 TOPK 原题

5、n 个节点的树可能的高度。最高和最低的高度

6、BST 树的高度

7、项目难点

8、redis 的使用场景,和 memry***的区别

9、UDP 和 TCP 的区别

10、Mysql 的储存引擎和索引

11、问了一个订单数据表(uid,orderId,time,moblie)每天 2000w 条,要存 1 年,应该怎么存?

12、最后还就我的职业规划,跟我聊了好几分钟!

二面 2019/7/29 来自于牛客网

1、先问项目。web 项目背景。如何应对高并发、如何做分布式事务

2、看过源码嘛?

3、1、8 版本的 concurentHashMap 在单线程下和 HashMap 效率有什么区别

4、多线程方面学到了什么?Netty 线程模型介绍一下、Java 线程池四种介绍一下?

5、Nio 特性介绍

6、你怎么自学看什么书

7、JMM 内存可见性

8、还有什么能保证可见性:sync 和 Lock

9、怎么打断线程

10、问我之前的笔试题

11、手写代码:没有任何算法,直接按题意翻译就行

第五篇

一面 2019/5/21 来自于牛客网

1、两个升序数组求并集

2、问项目,讲了两个项目

3、提了一下 Redis 做缓存,Redis 分布式锁

4、怎么保证 Redis 的高可用

5、问了下 MySQL 数据结构,问看过源码没

6、JVM 垃圾回收算法

7、HTTPS 的实现

8、反问环节

二面 2019/5/21 来自于牛客网

1、项目

2、滴滴实习(调度系统),项目这里问了几个刁钻的问题

3、redis setnx 分布式锁

4、redis 的 ttl 指令底层实现,redis 过期策略

5、redis 数据类型,跳表实现

6、JDK 1、7、1、8 区别

7、HashMap 全家桶

8、CAS 原理

9、MySQL 一条语句的执行过程,解析过程?查询缓存?怎么判断是否命中?

10、a_b_c 联合索引,问你哪些索引可以正常使用,哪些失效

11、MySQL 的执行计划

12、colse_wait,time_wait

13、撕算法:leetcode 区间合并做了升级,比原来难一点。LC 的 hard 难度

第六篇

一面 2019/9/8 来自于牛客网

1、问项目相关的问题

2、ConcurrentHashmap 的原理,有什么改动,进行了哪些优化

3、Synchronized 关键字原理,CAS 原理,Monitor 对象

4、红黑树性质,为什么 ConcurrentHashmap 用红黑树

5、红黑树,二叉搜索树,平衡二叉树性质的对比,平衡二叉树的删除操作

6、redis 持久化,和一些命令

二面 2019/9/8 来自于牛客网

1、问项目相关的问题

2、锁相关的问题,有什么锁,介绍一下

3、重做一下笔试题第二题,字符串能不能构成环那个

4、给一个数组和一个 target,找到一个子序列使得和为 target

5、工作时间调度问题。给两个数组,一个代表工作开始时间,一个代表工作结束时间,时

间有重叠。问这段时间内最大能完成几项工作

第七篇

一面 2019/9/20 来自于牛客网

1、毕设项目相关

2、自己做的项目相关

3、redis 实现分布式锁

4、自己实现一个二阶段提交,如何设计

5、算法题,任务调度

二面 2019/9/20 来自于牛客网

1、自己做的项目表的设计

2、用自增键做用户表的主键的潜在危险

3、nginx 负载均衡时如何判断某个节点挂掉了

4、redis 的数据类型, 使用场景

5、redis 的存储方式和优劣

6、java 的异常

7、jvm 垃圾回收策略

8、k8s 的存储方式是怎样的

9、Spring AOP 原理是什么,怎么使用,什么切点什么是切面,举个例子

10、现场写单例

11、算法题,给一堆硬币的 array,返回所有的组合

12、复杂度是多少,有没有什么可以优化的地方

13、毕设项目讨论

第八篇

一面 2019/9/12 来自于牛客网

1、自我介绍

2、简历上的项目

3、Hashmap 的 get()方法

4、Hashmap 的线程安全问题

5、代码:判断单链表有没有环,找到环入口点

6、设计模式、单例模式

7、数据库大表查询

8、数据库联合索引

9、B+树和最左前缀原理

10、说说自己的职业规划

二面 2019/9/12 来自于牛客网

1、自我介绍

2、简历上的项目

3、原子类 AtomicInteger 的实现原理,CAS 机制

4、线程和进程

5、线程和线程池

6、StringBuilder 和 Stringbuffer

7、ArraryList 的 get 方法和 add 方法时间复杂度

8、数据库事务

9、数据库分库分表,水平上怎么分,垂直上怎么分

10、用了消息队列有哪些好处

11、代码:字符串反转,递归的方式

12、聊了一下其他非技术的;

13、有什么要问面试官的

第九篇

一面 2019/9/21 来自于牛客网

1、自我介绍

2、介绍项目

3、redis 使用场景

4、redis 集群

5、乐观锁和悲观锁

6、线程池类型?d 和 fixed 区别?

7、hashmap 和 concurrenthashmap 介绍?

8、一致性哈希介绍

9、gc 算法说一下

10、笔试第四题说下思路

11、手撕算法,树层次遍历变形题,leetcode 原题

12、有什么想问的

二面 2019/9/21 来自于牛客网

1、自我介绍

2、项目介绍

3、笔试第四题说下思路

4、手撕算法,最大连续子数组和

5、还用过 vue,介绍一下?

6、分布式了解哪些?

7、nginx 都用了什么?

8、平常怎么学习的?

9、有什么想问的?

第十篇

一面 2019/9/28 来自于牛客网

1、自我介绍

2、基本数据类型,分别所占内存大小

3、栈和队列

4、平衡二叉树、完全二叉树、满二叉树的概念

5、HashMap 的实现原理,Java8 中有什么改变

6、红黑树

7、ArrayList LinkedList

8、多线程

9、生产者消费者问题

10、实例锁和类锁

11、HashMap concurrentHashMap HashTable

12、线程池

13、JVM 内存模型

14、事务的特性

15、阐述隔离性

16、Mysql 中的隔离级别

17、引实现机制

18、手写快排

二面 2019/9/28 来自于牛客网

1、自我介绍

2、聊简历

3、JVM 内存模型

4、GC 算法

5、HashMap, concurrentHashMap

6、线程安全的定义

7、保证线程安全的方法

8、悲观锁和乐观锁

9、volatile threadLocal

10、二叉树的非递归中序遍历

11、问答

相关文章

网友评论

      本文标题:拼多多 Java 方向面经

      本文链接:https://www.haomeiwen.com/subject/hqhxvktx.html