拼多多面试

面试经历

Posted by KW on August 9, 2019

不知不觉已经八月份了。。。

拼多多


一面

  • 自我介绍下
    自报门户,说了下做的项目,会的知识点,实习经历
  • 能详细说说刚刚的项目么?
    项目是啥啥啥,我做了啥,优化了哪里
  • 用什么做缓存的?
    redis
  • 如果现在你的用户量很大,要做个缓存集群版的方案,聊一聊怎么做?
    用户量大,首先要把发送过来的请求做负载均衡,发到多台缓存服务器,数据这边也需要进行分库分表。。。
  • 那用户缓存在一台机器上,然后下一次请求发到其他机器上怎么处理?
    sticky session
  • 那在处理用户请求的时候,这台机器挂了怎么办?
    可以把发送来的请求写到一张表里,当某结点拿到这个请求去计算,在超时时间内没有返回,就认定这个结点挂了,让其他结点处理这个请求
  • 回到刚刚的集群方案,怎么分发请求呢?
    可以用轮询,随机,一致性哈希(不知道怎么冒出来的)等等
  • 可以讲讲一致性哈希的原理么?
    emm…没研究过
  • 你项目里的多数据源实现,可以讲讲么?
    就是用 threadLocal 去存对应数据库的信息,还有个默认的数据库,即拿到信息为空的话,就使用默认的数据库
  • 那你是怎么处理数据库选择这个的优先级呢?
    (没太懂他意思,感觉是我前面没说清楚)我是用注解的方式去执行这个数据库选择的
  • 现在我想在项目启动的时候加载其他的很多 jar 包,而且这些 jar 包里面有相互引用的情况,怎么样去加载呢?
    递归的去解析类,并放到一个 hashmap 里面
  • hashmap 与 hashtable 的区别?
    多线程执行,说了点 concurrentHashMap
  • hashMap 最差情况下的时间复杂度是多少?
    O(n)

后面忘记了,就这样吧