拼多多面试总结

news2024/11/16 21:27:50

文章目录

    • 一面
      • 自我介绍
      • 提问
      • 算法
      • 反问
      • 结果
    • 二面
      • 提问
      • 算法
      • 反问
      • 结果
    • 主管面
      • 主管面试准备
        • 算法题
        • 其他
        • 个人提问准备
      • 提问
        • 数据库
          • 普通索引和覆盖索引的区别
          • 索引是什么?索引怎么加快数据库查询的?
          • 索引具体怎么实现的?以B+树为例,节点放了什么?
        • 计算机网络
          • 计算机网络有哪几个层
          • 为什么视频通话使用UDP,而不是TCP?为什么
          • HTTP协议有什么?
      • 算法题
      • 反问
      • 结果

一面

自我介绍

  • 讲了还能多不必要的东西,这里要在私下里总结一下,形成书面文件,然后重点介绍几个和计算机相关的方面。

提问

  • 内核态和用户态的切换

  • HTTTP和HTTPs的区别

  • TCP和UDP的具体区别

  • TCP为什么要三次握手?

  • 数据库中的索引创建如何更快?有什么注意事项?

  • 为什么要创建索引

  • 基本上除了最后两个,其他的都说出来了。

算法

  • 叠罗汉问题
  • 最大上升子序列 + 排序
  • 完美通过

反问

  • 拼多多有末尾淘汰制吗?

    • 没有
  • 我入职之前需要提前学一些什么吗?

    • 不用,java基础就够了,进去了,什么语言十二小时学不会。

结果

  • 一面通过,效果还行,不过二面心里有点发怵了。
  • 上述几个问题也有了清晰的认知和补充,面试官建议好好学习一下java ,然后在进行入职。

二面

  • 不管怎么样,权当是经验学习,明天二面,心里很慌,加油吧,能进就进,进不了,暑假好好准备面试的。
  • 二面还没开始,不过心态放平了,目前还是有很多八股没有背过,不过后续会好好准备的。能进就进,不能进就当作秋招预演了,不过每次都要总结一下,自己还有什么地方欠缺,每一次面试完,都要有所进步。
  • 昨天的面试让我有了一定的经验,就是最后不要问薪资,咱们就问和工作相关的内容,主要是以下两个方面
    • 如果入职的话,我想知道自己大概具体是负责哪个部分,我需要的提前学习什么?
    • 如果能够保证一周六天都到的话,实习转正的概率是多少?有什么硬性的规定吗?

提问

java中string和string buffer的区别?

  • 可变性和不可变性
    • String对象是不可变的。一旦创建了一个String对象,它的值就不能再改变。任何对String对象的修改都会产生一个新的String对象。
    • StringBuffer对象是可变的。可以对StringBuffer对象进行修改,而不会产生新的对象。
  • 线程安全性
    • String是不可变的,因此是线程安全的。在多个线程之间共享String对象是安全的,不需要同步。
    • StringBuffer是线程安全的。它的所有修改方法都是同步的,这意味着它可以安全地用于多线程环境中。
  • 性能
    • 因为String是不可变的,每次对String的修改都会产生一个新的对象,这在需要频繁修改字符串的场景下会带来性能问题。
    • StringBuffer是可变的,并且提供了高效的字符串修改方法,因此在需要频繁修改字符串的场景下,StringBuffer的性能更高。

java中的接口和抽象类?然后优先实现接口还是抽象类

在这里插入图片描述

算法

  • 找到若干个数组中,都出现的元素,并将之作为列表输出。
  • 手动实现,并且没有ide,没有补全,告诉那个老师,给你执行。
  • 好在通过了一个简单的方法,但是运行效率属实不行,后来他提醒我,我还没转过弯了。

反问

问题一

  • 如果入职的话,我想知道自己大概具体是负责哪个部分,我需要的提前学习什么?
  • 我这个组的是中间件。具体省略了。

问题二

  • 如果能够保证一周六天都到的话,实习转正的概率是多少?

  • 实习的话,只要去了,做出点东西了,都挺高的。

结果

  • 这里预测一下,大概率是通不过的,因为第一关的面试官并没有问很多java和数据库的东西,而且算法刚好我就会。
  • 意料之外,这里居然又过了,实在想不到,运气好?还是咋滴?不管了,继续准备吧。

主管面

  • 心里比较慌,上次面试应该是运气好,在我身上实在没找到什么能够让我通过的地方,所以,这次主管面试更加忐忑了,这里上网搜了一下,其他年份的主管面内容,这里准备一下。
  • 刚才心跳的很快,甚至说有点心悸了,因为我就这一个进了主管面,其他的都没有进主管面,这个挂了,其他的就都没有了。不过想了想,这不就是一份工作吗?我能够进主管面,就是运气,能进就进。不能进再继续学,没什么好难过的尽力就行了,坦然面对喽。
  • 放宽心吧,兄弟,加油的!

主管面试准备

  • 大概看了一下网上的东西,还是要好好准备一下算法,不要投入太多希望,能去就去,不能去也没有办法,我们尽力就好了。
  • 很重要的一部分还是要考察你的算法能力,所以要好好做一下目前所有能做到的算法。
算法题

算法题一

  • 给定一个n×2的二维数组,数组的每一行代表一个区间,如果一个区间被另一个区间包含就删掉该区间,返回剩下的所有区间。
  • 比如: [1 2]被[1 ,3]。
  • 这个已经做过了,具体连接如下
  • 对应链接

算法题二

  • dfs非递归二叉树高度,一开始写了个经典队列的bfs,意识到不对后开始改,最后没改完,就说了个暴力找到每个叶子的高度的思路。
  • 这个已经做过了,具体连接如下
  • 对应链接
其他

想通过实习获得什么?
九月份你会回学校吗?

个人提问准备

业务是什么?我会跟着您吗?
我先需要提前学习什么吗?

提问

数据库
  • 让我写了一个sql语句,然后问我如果这个sql语句查询很慢怎么办?
  • 建立索引,反问我索引是什么?底层实现是什么?
select count(*)
from stu
where sex ='male';
  • 我知道是使用索引,但是索引是要自己创建的,但是复习sql语句的时候,就没有练习到创建索引,现在自己这里再复习一下

创建针对sex的索引

create index id_sex on stu(sex);

使用索引覆盖

create index idx_sex_only on stu(sex);

表分区

  • 表stu很大,可以考虑按sex进行分区,查询只扫描相关分区
alter table stu partition by List(sex)(
	PARTITION p_male values in ('male'),
	PARTITION p_female values in ('female')
);

优化查询计划

  • 确保查询优化起选择最优的执行计划,使用EXPLAIN分析查询执行计划
EXPLAIN select count(*) from stu where sex='male';
普通索引和覆盖索引的区别
  • 普通索引
    • 普通所以你是为某个或者某些列创建的索引,借此来加速这些列的操作,数据库通过索引可以快速定位到匹配的行。
  • 覆盖索引
    • 索引包含了查询所需要的所有的列,查询只需要访问索引,而不需要访问数据库表的数据行,提高了查询性能。覆盖索引通常是所列索引,覆盖查询中涉及的所有列。
索引是什么?索引怎么加快数据库查询的?
  • 这个问题问的我真是痛心疾首,我知道B+树是MySQL中InnoDB的默认实现等等,但是他说不对,就是索引是怎么实现的,这个目录是怎么实现的,给我问懵逼了,所以挂了。不过我的底子确实太薄了。

正式回答

  • 索引是一种用于快速查找数据的一种数据结构。通过索引,数据库可以更快地找到和访问表中的数据行,无需扫描整个表

什么是索引?

  • 数据库表中一列或者多列的排序副本
  • 存储在一个特殊的数据结构中,通常是B+树或者哈希表,允许快速查找、插入和删除操作

创建索引的几种方式

  • 这个得会呀,不会创建索引,背了那么多没什么意义,人家问的就是怎么创建索引。
# 单列索引
create INDEX index_col on table_name(column_name);
# 多列索引
create INDEX index_cols on table_name(cols1,cols2);
# 唯一索引
create UNIQUE idx_unique on table_name(col);
# 全文索引
create FULLTEXT index idx_fulltext on table_name(column_name)

创建了索引,又是如何在select语句中使用的?

  • 一般情况下,数据库管理系统DBMS会自动选择最优的索引执行查询,不需要在SELECT中显示指明所以需要哪个索引。查询优化器负责分析查询,根据统计信息选择合适的索引优化查询性能。
  • 查看查询计划
    • 使用explain select * from students where age = 22;查看查询的执行计划,确认索引是否被使用。

索引是如何加快查询的?

  • 减少数据扫描
    • 没有索引的时候,需要扫描数据库的每一行(全表扫描),通过索引中的数据查找特定的行。
  • 提供排序顺序
    • 索引按照特定的顺序排序的,查询需要排序,索引不需要排序直接返回
  • 实现快速搜索
    • 允许通过二分查找快速定位数据
索引具体怎么实现的?以B+树为例,节点放了什么?
  • 非叶子节点只存储键值和指向子节点的指针,不存储实际数据。
  • 叶子节点存储键值及其对应的实际数据(或指向数据的指针),并且所有叶子节点通过链表连接在一起,便于范围查询。
    在这里插入图片描述
计算机网络
计算机网络有哪几个层
  • 这道题记得有点混乱,太久没看了,导致当时有点记不清楚了,不过最后又理回来了。
  • OSI的七层
    • 应用层
    • 表示层
    • 会话层
    • 传输层
    • 网络层
    • 数据链路层
    • 网络层
  • TCP/IP网络有的时候会是四层,有的时候会是五层,这里还是记录成五层吧
    • 应用层
    • 网络层
    • 传输层
    • 链路层
    • 物理层
为什么视频通话使用UDP,而不是TCP?为什么
  • 大爷的,今天早上刚看过,虽然当时答的磕磕巴巴,不过还在说出来了。
  • UDP具有更低的延迟,更高的实时性,可以容忍一定的丢包和乱序,保证了视频通话的流畅性和质量
  • TCP虽然提供可靠的传输服务,但是链接建立、流量控制、拥塞控制和重传机制引入了额外的延迟和不稳定性,不适合实时通信的需求。

更加细致地说

实时性

  • UDP
    • 无连接的传输协议,不需要建立链接就可以发送数据,没有三次握手和链接维护的过程,延迟更低,视频通话需要实时传输数据,任何延迟都会影响通话质量。
  • TCP
    • 面向连接的协议,需要建立链接,并且数据传输过程中需要确认和重传,会导致额外的延迟

丢包处理

  • UDP
    • 没有丢包重传机制,重不重传由应用程序自己决定,轻微丢包对于视频影响不大
  • TCP
    • TCP提供可靠传输,确保数据按照顺序到达并且不丢失
    • 某一个数据包丢失了,TCP会重传这个数据包,直到这个数据包受到确认。虽然保证了可靠性,但是会引入延迟和抖动,不利于通话的流畅性。
HTTP协议有什么?
  • 这部分我没有复习到,有点懵逼。
  • 今天早上刚看过,难受
    • 请求行
    • 请求头
    • 请求体

算法题

  • 二叉树的后续后续遍历,以及对应的更换二叉树的连接方式。
  • 这里整理了对应的链接,具体看链接。
  • 对应链接

反问

  • 虽然今天面试面的不好,不过还是想问一下,我需要提前学什么吗?
  • springboot,自己多做一些项目。

结果

  • 不知道呀,能进就进,我已经尽力了,之前几面我都没有准备,这次主管面还是准备了的。心平气和,尽力就好了,加油吧!!
  • 没进,回顾一下,其实回答正确的题目没几个,人家会很失望的,不过也好,不再抱有不该有的期望了。
  • 流程终止了,不知道为啥!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1859276.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SOIDWORKS Electrical中统计槽满率的经验技巧

近期有一些客户咨询,为什么在SOLIDWORKS Electrical 3D 中做完3D布线工作,但是在统计线槽槽满率的时候不能正常计算。因此我们总结了以下几点经验。 一、对于SOLIDWORKS Electrical中的计算线槽率的功能,除了所使用的线槽需要满足两个条件&am…

【Unity服务器01】之【AssetBundle上传加载u3d模型】

首先打开一个项目导入一个简单的场景 导入怪物资源, AssetBundle知识点: 1.指定资源的AssetBundle属性标签 (1)找到AssetBundle属性标签 (2)A标签 代表:资源目录(决定打包之后在哪…

LDO电源模块如何快速设计布局

在现代电子设备遍布的时代,电源模块的设计与应用成为了电子工程领域中的核心议题。而LDO(低压差线性稳压器)电源模块,因其出色的线性特性和稳定性,在众多应用中备受青睐。为了满足不断增长的电子设备性能需求&#xff…

控价服务商的选择标准

品牌控价旨在对渠道进行有效管控,维护品牌自身价值以及经销商的合法权益,同时也为消费者提供稳定的购物价格。在这一过程中,不但要对线上价格进行把控,线下价格同样需要品牌投入精力去管理。就线上而言,由于链接数量众…

面向对象的进阶---static

1.static 静态变量 package com.itheima.a01staticdemo01;public class Student {private String name;private int age;public static String teacherName;public Student() {}public Student(String name, int age) {this.name name;this.age age;}/*** 获取* return n…

基于单片机的智能台灯控制系统

摘要: 文章设计一款单片机智能台灯控制系统,实现对台灯的手动和自动控制功能,以 STC89C52 单片机作为多功能智能台灯的主控制器,光电检测模块检测坐姿,红外传感器检测人体,光敏电阻检测光强,同…

找不到x3daudio1_7.dll无法运行的原因分析及6种解决方法

当您遇到软件或游戏中提示“x3daudio1_7.dll丢失”的问题时,通常意味着您的系统中缺少这个特定的动态链接库文件。x3daudio1_7.dll 是微软DirectX的一部分,找不到x3daudio1_7.dll会导致软件游戏无法启动运行,下面小编就分享几种靠谱的解决方法…

msvcp120.dll丢失的解决方法,总结几种有效的解决方法

最近,我在使用计算机时遇到了一个问题,系统提示我丢失了msvcp120.dll文件。这让我感到非常困扰,因为这个问题导致我无法正常运行一些程序。经过一番搜索和尝试,我找到了几种修复这个问题的方法,并成功解决了这个问题。…

[数据集][目标检测]斑马线人行横道检测数据集VOC+YOLO格式793张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):793 标注数量(xml文件个数):793 标注数量(txt文件个数):793 标注类别…

vue2和vue3分别如何全局引入并使用js

如下js:util/tool.js var tool {nullKeyValueConvertLine(data){if(data && data.length > 0){data.map((item,index)>{for(var key in item){if(!item[key]&&item[key]!0){item[key] -}}})}}, } export default tool 在vue2项目中全局引…

2024上海MWC 参展预告 | 未来先行,解锁数字化新纪元!

一、展会介绍——2024世界移动通信大会 2024年世界移动通信大会上海(MWC上海)将于6月26日至28日在上海新国际博览中心举行。 本届大会以“未来先行(Future First)”为主题聚焦“超越5G”、“数智制“人工智能经济’造”三大热点话题。届时将在包括超级品牌馆(Super Hall)在内…

C++(part2、3-Linux系统编程+数据库项目):Linux网络云盘

文章目录 一、项目需求分析1.一期:命令行解析(1)cd(用栈管理)、ls、pwd(2)puts、gets(3)mkdir、touch、rmdir、rm 2.二期:密码验证、日志、断点续传、大文件传输(1)密码验证(2)日志(3)断点续传(4)大文件传输 3.三期:用户注册、用户登录、虚拟…

nginx+keepalived+tomcat集群实验

如遇星河 | nginx+keepalived高可用集群实验 木子87 | Keepalived+Nginx+Tomcat 实现高可用Web集群 环境 192.168.40.204 tomcat-1 192.168.40.138 tomcat-2 安装tomcat [root@bogon local]# vim /etc/profile 添加环境变量 JAVA_HOME=/usr/local/java PATH=$J…

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型 GPT-4o),…

复制完若依后,idea没有maven窗口

右击项目 添加框架 添加maven框架就可以了

【Vue】vue-router路由使用

前言 Vue Router是Vue框架中非常重要的一个功能。 目标 1 单页面应用与多页面应用的区别; 2 vue-router的具体实现方法; 3 路由模式有哪几种,有什么区别; 4 如何进行路由守卫与路由缓存; 一 路由的概念 概念 Vue Router是Vue提供的路由管理器。将组件与路由一一对应起来,…

vantUI upload 上传组件v-model绑定问题

直接绑定一个数组会有问题,删除失效/上传不了等等 解决在v-model绑定的数组外包一个对象即可

无人机捕获的视频跟踪UAV123数据集(目标检测)

亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。 摘要&a…

elementplus el-table(行列互换)转置

Element Plus v2.4.0, repl v3.4.0 <template> <div><el-table :data"tableData" style"width: 100%"><el-table-column prop"name" label"名字" width"180" /><el-table-column prop"wei…

Spring Boot 快速入门4 ——JSR-303 数据校验

目录 一、前言 二、JSR303 简介 三、使用方法 常用注解 Validated、Valid区别 四、编写测试代码&#xff1a; 1. 实体类添加校验 2. 统一返回类型 3. 测试类 4.我们把异常返回给页面 5.抽离全局异常处理 2. 书写ExceptionControllerAdvice 一、前言 我们在日常开发…