秋招面经-虾皮Shopee-后端开发工程师-一面
1、自我介绍
2、谈谈你为什么投Shopee
3、你觉得自己有什么弱点或者待提高的部分?
4、手撕(注:虾皮的手撕只有支持各种编程语言的ide,因此书写的sql语句无法执行观看结果):
(1)SQL:一共1000件商品,每件商品价格范围在(0,1000)元,编写一个sql,分别求出价格在(0,10),(10,120),(120,1000)的商品的数量。table name:item_tab columns:id,name,desc,price;
(2)算法题:一个人每次最多走m阶台阶,问走n阶台阶一共有多少种走法?(动态规划)
5、谈谈编程常用的设计模式有哪些(可以列举一些,并结合项目中用到的一起谈谈)
6、饿汉式单例是线程安全的吗?(因为上面提到了单例模式)
7、谈谈对Spring中JDK动态代理的理解
8、谈谈HashMap的扩容机制
9、谈谈CountDownLatch
10、谈谈AQS
11、谈谈MyBatis的两级缓存是干嘛的,分别存的是什么
12、谈谈SpringBoot的启动过程
13、项目中用到了ES,谈谈对ES倒排索引的理解
14、ES建立索引时,副本和分片一般怎么设置?
15、无论是什么MQ,如果遇到了消息积压,一般有哪些手段去处理?
16、MySQL的间隙锁是解决什么问题的?原理是怎样的?
17、了解RPC框架吗?如果让你来设计一个RPC框架,你认为应该包含哪些关键的部分?为什么?
18、如果为了去提高RPC传输的性能,可以在哪些方面去做优化?
19、Https的加密过程
20、Http返回码302是什么意思
21、git merge和git rebase的区别
22、API和SPI的区别
23、反问