paypal社招Java工程师面试经历
一面:
1、做一下自我介绍吧,说一下你的这个项目?
2、你这个线程池的核心线程数怎么设置的?主要考虑什么?
3、你这里为什么要用消息中间件呢?不用可以吗?
4、线程池中ExecutorService中execute()和submit()方法的区别?
5、线程池都有哪些参数?拒绝策略有哪几种?
6、了解netty吗?说一说你知道的。
7、看过dubbo的源码吗?说一说你了解的
8、说说Spring中Bean的生命周期和Bean的作用域?Spring 在web 容器中的启动过程?IOC的实现原理?
9、讲讲数据库乐观锁和悲观锁?各自的适用条件?有没有sql调优经历。
10、讲一讲计算机网络的三次握手和四次挥手?为什么要三次握手,两次可以不?
11、编程题:
给定一个字符串,任务是计算这个字符串中有多少个回文子串。
具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。
示例 1:输入: "abc"输出: 3解释: 三个回文子串: "a", "b", "c".
示例 2:输入: "aaa"输出: 6说明: 6个回文子串: "a", "a", "a", "aa", "aa", "aaa".
二面:
1、假如一个风控系统响应速度突然变慢怎么排查?
2、hashmap有几种构造构造函数。hashmap的遍历有几种方式,分别使用什么场景
3、对Java的垃圾回收机制了解吗?垃圾回收器呢?说一下CMS?OOM的排查思路?
4、springboot是怎么运行起来的
5、线程池的实现原理?为什么不建议使用Excutors来创建线程池?核心线程和工作线程的区别?
6、volatile了解吗?和syncronized的区别?讲一讲AQS?公平锁和非公平锁?
7、NOClassDefFoundError和ClassNotFoundException有什么区别?
8、数据库的ACID和隔离级别?分布式事务了解吗?有哪些处理方法?
9、redis实现分布式锁与用zk实现有什么区别,你用的redis,知道用zk怎么实现吗?
10、什么是缓存击穿,redis的hotkey如何处理?如何保证数据库与缓存双写的一致性。
11、你说你了解dubbo,能讲一下dubbo的基本原理吗?
12、kafka如何保证不丢消息又不会重复消费。
13、你了解哪些设计模式?讲一讲观察者模式和策略模式?
14、手写代码:一条包含字母 A-Z 的消息通过以下方式进行了编码:
'A' -> 1
'B' -> 2
…
'Z' -> 26
给定一个只包含数字的非空字符串,请计算解码方法的总数。
示例 1:
输入: "12"
输出:
解释: 它可以解码为 "AB"(1 2)或者 "L"(12)。
15、对大数据方面的技术栈有没有什么了解?
16、有没有什么想问我的?期望工资是多少?
#paypal##社招##Java工程师##面经#