三面拼多多面试题总结

  发布时间:2019-11-19 16:17:56   作者:慕容千语   我要评论
这篇文章主要介绍了三面拼多多面试题总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

面试前

面完蚂蚁后,早就听闻拼多多这个独角兽,决定也去面一把。首先我在脉脉找了一个拼多多的HR,加了微信聊了下,发了简历便开始我的拼多多面试之旅。这里要非常感谢拼多多HR小姐姐,从面试内推到offer确认一直都在帮我,人真的很nice。

一面
 

  • 为啥蚂蚁只待了三个月?没转正?(转正了,解释了一通。。。)
  • Java中的HashMap、TreeMap解释下?(TreeMap红黑树,有序,HashMap无序,数组+链表)
  • TreeMap查询写入的时间复杂度多少?(O(logN))
  • HashMap多线程有什么问题?(线程安全,死锁)怎么解决?( jdk1.8用了synchronize + CAS,扩容的时候通过CAS检查是否有修改,是则重试)重试会有什么问题么?(CAS(Compare And Swap)是比较和交换,不会导致线程阻塞,但是因为重试是通过自旋实现的,所以仍然会占用CPU时间,还有ABA的问题)怎么解决?(超时,限定自旋的次数,ABA可以通过原理变量AtomicStampedReference解决,原理利用版本号进行比较)超过重试次数如果仍然失败怎么办?(synchronize互斥锁)
  • CAS和synchronize有什么区别?都用synchronize不行么?(CAS是乐观锁,不需要阻塞,硬件级别实现的原子性;synchronize会阻塞,JVM级别实现的原子性。使用场景不同,线程冲突严重时CAS会造成CPU压力过大,导致吞吐量下降,synchronize的原理是先自旋然后阻塞,线程冲突严重仍然有较高的吞吐量,因为线程都被阻塞了,不会占用CPU )
  • 如果要保证线程安全怎么办?(ConcurrentHashMap)
  • ConcurrentHashMap怎么实现线程安全的?(分段锁)
  • get需要加锁么,为什么?(不用,volatile关键字)
  • volatile的作用是什么?(保证内存可见性)
  • 底层怎么实现的?(说了主内存和工作内存,读写内存屏障,happen-before,并在纸上画了线程交互图)
  • 在多核CPU下,可见性怎么保证?(思考了一会,总线嗅探技术)
  • 聊项目,系统之间是怎么交互的?
  • 系统并发多少,怎么优化?
  • 给我一张纸,画了一个九方格,都填了数字,给一个MN矩阵,从1开始逆时针打印这MN个数,要求时间复杂度尽可能低(内心OS:之前貌似碰到过这题,最优解是怎么实现来着)思考中。。。
  • 可以先说下你的思路(想起来了,说了什么时候要变换方向的条件,向右、向下、向左、向上,依此循环)
  • 有什么想问我的?

二面

  • 自我介绍下
  • 手上还有其他offer么?
  • 部门组织结构是怎样的?(这轮不是技术面么,不过还是老老实实说了)
  • 系统有哪些模块,每个模块用了哪些技术,数据怎么流转的?(面试官有点秃顶,一看级别就很高)给了我一张纸,我在上面简单画了下系统之间的流转情况
  • 链路追踪的信息是怎么传递的?(RpcContext的attachment,说了Span的结构:parentSpanId + curSpanId)
  • SpanId怎么保证唯一性?(UUID,说了下内部的定制改动)
  • RpcContext是在什么维度传递的?(线程)
  • Dubbo的远程调用怎么实现的?(讲了读取配置、拼装url、创建Invoker、服务导出、服务注册以及消费者通过动态代理、filter、获取Invoker列表、负载均衡等过程(哗啦啦讲了10多分钟),我可以喝口水么)
  • Spring的单例是怎么实现的?(单例注册表)
  • 为什么要单独实现一个服务治理框架?(说了下内部刚搞微服务不久,主要对服务进行一些监控和性能优化)
  • 谁主导的?内部还在使用么?
  • 逆向有想过怎么做成通用么?
  • 有什么想问的么?

三面
 

二面老大面完后就直接HR面了,主要问了些职业发展、是否有其他offer、以及入职意向等问题,顺便说了下公司的福利待遇等,都比较常规啦。不过要说的是手上有其他offer或者大厂经历会有一定加分。

小结

拼多多的面试流程就简单许多,毕竟是一个成立三年多的公司。面试难度中规中矩,只要基础扎实应该不是问题。但不得不说工作强度很大,开始面试前HR就提前和我确认能否接受这样强度的工作,想来的老铁还是要做好准备
 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 程序员面试的几个小技巧

    这篇文章主要介绍了程序员面试的几个小技巧,在平时面试的时候,除了实打实的技能还需要更多的技巧,双管齐下才能赢得更大的胜算,技能方面就不多说了,下面来分享几个面试
    2023-04-23
  • AQS底层原理连环相扣系列锁面试题分析

    面试中,问锁主要是两方面:锁的日常使用场景 + 锁原理,锁的日常使用场景主要考察对锁 API 的使用熟练度,看看你是否真的使用过这些 API,而不是纸上谈兵,锁原理主要就是
    2022-05-19
  • Mybatis常见面试题详细总结

    这篇文章主要介绍了Mybatis常见面试题详细总结,通过总结列举大量的mybatis面试常见题目供给大家参考,希望对大家有所帮助
    2021-08-24
  • 2020Java后端开发面试题总结(春招+秋招+社招)

    这篇文章主要介绍了2020Java后端开发面试题总结(春招+秋招+社招),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-02-18
  • MySQL数据库选择题小结

    这篇文章主要介绍了MySQL数据库选择题小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-02-07
  • 30道有趣的JVM面试题(小结)

    这篇文章主要介绍了30道有趣的JVM面试题(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-11-26
  • Python面试题爬虫篇小结(附答案)

    这篇文章主要介绍了Python面试题爬虫篇小结(附答案),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-10-28
  • 还不理解B树和B+树,那就看看这篇文章吧

    这篇文章主要介绍了还不理解B树和B+树,那就看看这篇文章吧,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一
    2020-09-10
  • Java面试通关要点汇总(备战秋招)

    这篇文章主要介绍了Java面试通关要点汇总(备战秋招),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-09-08
  • 10道JVM常见面试题解析(附答案)

    这篇文章主要介绍了10道JVM常见面试题解析(附答案),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学
    2020-09-04

最新评论