拼多多面试总结

文章目录

    • 一面
      • 自我介绍
      • 提问
      • 算法
      • 反问
      • 结果
    • 二面
      • 提问
      • 算法
      • 反问
      • 结果
    • 主管面
      • 主管面试准备
        • 算法题
        • 其他
        • 个人提问准备
      • 提问
        • 数据库
          • 普通索引和覆盖索引的区别
          • 索引是什么?索引怎么加快数据库查询的?
          • 索引具体怎么实现的?以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,自己多做一些项目。

结果

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java生成excel,uniapp微信小程序接收excel并打开

java引包&#xff0c;引的是apache.poi <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.3</version></dependency> 写一个测试类&#xff0c;把excel输出到指定路径 public s…

leetcode494. 目标和

1.思想方法 2.代码 class Solution { public int findTargetSumWays(int[] nums, int target) {int sum 0;for(int num : nums)sum num;if(sum < Math.abs(target) || (targetsum)%2 ! 0)return 0;int x (targetsum) / 2,n nums.length;//基于滚动数组的方法int[] dp…

JavaWeb-day28_HTML

今日内容 零、 复习昨日 一、HTML 零、 复习昨日 一、Web开发 前端三大件 HTML ,页面展现CSS , 样式JS (JavaScript) , 动起来 二、HTML 2.1 HTML概念 ​ 网页&#xff0c;是网站中的一个页面&#xff0c;通常是网页是构成网站的基本元素&#xff0c;是承载各种网站应用的平台…

MySQL高级-SQL优化- count 优化 - 尽量使用count(*)

文章目录 1、count 优化2、count的几种用法3、count(*)4、count(id)5、count(profession)6、count(null)7、 count(1) 1、count 优化 MyISAM引擎把一个表的总行数存在了磁盘上&#xff0c;因此执行count&#xff08;*&#xff09;的时候会直接返回这个数&#xff0c;效率很高&a…

阿里云nginx更新证书后依旧显示旧证书

尝试的解决办法 重启nginx服务删除服务器上的旧证书清除浏览器缓存检查是否使用CDN服务 最后的解决办法 云服务器开启了WAF服务&#xff0c;在WAF服务中配置证书

MySQL学习(5):SQL语句之数据查询语言:DQL

1.DQL语法 select 字段列表 from 表名列表 #DQL是可以进行多表查询的 where 条件列表 group by 分组字段列表 having 分组后条件列表 order by 排序字段列表 limit 分页参数 2.基本查询&#xff08;select&#xff09; 2.1查询多字段 select 字段1,字段2,字段3,......fro…

重要通知:据最新TEMU要求所有欧区车灯都需要能效标签(eu energy lable)

重要通知&#xff1a; 据最新TEMU要求&#xff0c;所有“欧区车灯”都需要能效标签&#xff08;eu energy lable&#xff09;&#xff0c;目前已下架欧区站点&#xff0c;上传成功后可恢复。 灯具类欧盟EU ENERGY LABEL 近日有不少欧洲站卖家收到TEMU平台商品要求卖家们发布的…

SHELL脚本学习(十二)sed进阶

一、多行命令 概述 sed 编辑器的基础命令都是对一行文本进行操作。如果要处理的数据分布在多行中&#xff0c;sed基础命令是没办法处理的。 幸运的是&#xff0c;sed编辑器的设计人员已经考虑了这个问题的解决方案。sed编辑器提供了3个处理多行文本的特殊命令。 命令描述N加…

大数据学习之分布式数据采集系统Flume学习

分布式数据采集系统Flume学习 一、Flume架构 1.1 Hadoop业务开发流程 1.2 Flume概述 flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 支持在日志系统中定制各类数据发送方&#xff0c;用于收集数据; 同时&#xff0c;Flume提供对数据进行简单处理&…

如何在720漫游中设置付费观看?

1. 进入720漫游作品编辑器&#xff0c;点击 「全局设置-营销设置-付费观看设置」 即可打开付费观看设置栏&#xff1b; 720漫游编辑器-全局设置 2. 开启付费观看功能后&#xff0c;设置「付费金额」&#xff0c;选择「付费场景」即可 720漫游编辑器-全局设置-付费观看设置 3.…

CentOS 生命周期结束指南

2019 年 9 月&#xff0c;Red Hat 宣布打算废止 CentOS&#xff0c;并将其替换为 CentOS Stream。 CentOS 7 和 8 是 CentOS Linux 的最终版本。CentOS 7 和 8 的生命周期结束日期为&#xff1a; CentOS 8 - 2021 年 12 月 31 日 CentOS 7 - 2024 年 6 月 30 日 相关内容推荐 点…

【人工智能学习之图像操作(三)】

【人工智能学习之图像操作&#xff08;三&#xff09;】 图像滤波滤波概念卷积平滑算子均值滤波高斯滤波中值滤波双边滤波锐化算子USM锐化梯度算子 傅里叶变换直方图直方图直方图均衡化自适应均衡化2D 直方图直方图反向投影 图像滤波 滤波概念 滤波过程就是把不需要的信号频率…

【D3.js in Action 3 精译】1.1.2 D3.js 的适用场景

译注 上一节中我们了解了 D3 诞生的技术背景——为了满足 Web 可访问数据的可视化需求。本节再来看看 D3.js 的适用场景是怎样的、在什么时候会考虑使用 D3.js。 1.1.2 D3.js 的适用场景 数据可视化领域正蓬勃发展&#xff0c;且备受青睐。过去十年间用于生成数据驱动图形的工…

Vite脚手架+Vant组件库初始化前端项目

脚手架概念&#xff1a; 在前端开发中&#xff0c;脚手架&#xff08;Scaffold&#xff09;是指一个用于快速搭建项目基础结构的工具或模板。脚手架包含了项目所需的基本文件结构、配置文件、依赖管理等内容&#xff0c;使开发者能够更快速地开始项目开发&#xff0c;而不必从…

H-K算法介绍与MATLAB实现

本篇文章是博主在人工智能等领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅解。文章分类在AI学习笔记&#…

sql想查询一个数据放在第一个位置

sql想查询一个数据放在第一个位置 背景:比如在查询后台账号的时候想将管理员账号始终放在第一个,其他账号按照创建时间倒序排序, 可以这样写sql: SELECTid,create_time FROMuser ORDER BY CASEWHEN id 1 THEN1 ELSE 2 END ASC, create_time DESC 运行截图: 可以看到id…

运算放大器输出相位反转和输入过压保护

运算放大器输出电压相位反转 本教程讨论两个与运算放大器相关的话题&#xff1a;输出相位反转和输入过压保护。 超过输入共模电压(CM)范围时&#xff0c;某些运算放大器会发生输出电压相位反转问题。其原因通常是运算放大器的一个内部级不再具有足够的偏置电压而关闭&#xff…

新火种AI|苹果要将苹果智能做成AI时代的APP Store?

作者&#xff1a;一号 编辑&#xff1a;美美 苹果还是想要自己做AI时代的“APP Store”。 自从去年开始落了队&#xff0c;苹果现在AI上开始高歌猛进。今年WWDC上展示的AI产品和与OpenAI的合作只是开始。有消息称&#xff0c;苹果正与Meta等AI巨头展开深入合作&#xff0c;这…

信息学奥赛初赛天天练-38-CSP-J2021阅读程序-约数个数、约数和、埃氏筛法、欧拉筛法筛素数应用

PDF文档公众号回复关键字:20240628 2021 CSP-J 阅读程序3 1阅读程序(判断题1.5分 选择题3分 共计40分 ) 01 #include<stdio.h> 02 using namespace std; 03 04 #define n 100000 05 #define N n1 06 07 int m; 08 int a[N],b[N],c[N],d[N]; 09 int f[N],g[N]; 10 11 …

容器化spring boot应用程序

容器化spring boot应用程序有多种方式&#xff0c;如基于简单的Dockerfile&#xff0c;多阶段Dockerfile以及基于Docker Compose等&#xff0c;我们将逐步给大家介绍&#xff0c;本节主要介绍基于简单的Dockerfile进行容器化spring boot的应用程序。 创建Spring boot应用程序 …