2024社招面经_存储DB广告架构方向
总结
第一次社招,主要是三四月份面的,offer的有高德、拼多多、腾讯、美团、快手、携程,后面面的比较累了,因为美团定级和涨幅都还行就去了美团,没再继续面别的。
因为时间比较久了,只在这里贴一下当时有记录的面经,别的也想不起来了。
难度最高的是九坤和拼多多二面,九坤的问的大概就是https://en.algorithmica.org/hpc/ 里面几个算法case练习的难度,全是手写题,当时没记。拼多多二面面试官感觉是个老阿里,跟多隆气质差不多,全程压力面,技术很强。可惜拼多多11116,思来想去还是小命要紧就没去。
我最近也把这一年整理的一些面试题和技术文章贴到了CSDN,大概有三十篇,感兴趣的可以翻翻看,一般的C++面试应该不会超过这些文章的范围。
阿里妈妈广告 一面
自我介绍
离职原因
mapreduce
shuffle
设计一个pb级数据ms级延迟的圈人归因报表系统
ck的存储
ck的mergetree
ck的join有没有向量化,怎么做的
leveldb存储 索引 缓存原理
手写stoi
你的优势劣势
offer情况
携程三面
cwnd和rwnd怎么调
为什么大了会丢包 小了会反复确认
三次握手
syn重试次数?重试间隔?
重试间隔每一次都一样吗?
重试失败之后怎么办
什么时候放入半链接队列,什么时候放入全链接队列
什么情况下需要llc优化
syn之后的tcp状态
spark fair调度怎么实现的
redis数据结构
aof和rdb怎么优化
binlog
主键和唯一键区别
主键合并怎么做
mysql怎么找到索引问题
内碎片问题怎么定位是ptmalloc产生的
ptmalloc arena冲突怎么解决
手写生产者消费者
反问
美团到家广告 一面
自我介绍
bitmap
优化
redis主从同步
最长无重复子串
聊下业余学的东西
反问
美团二面
聊项目
怎么做优化的
pregel是什么
pagerank怎么做到安全的
什么情况下不会向量化
手写循环展开/prediction(cmov)/查找表优化
画spark架构图
spark怎么做容错的
spark有几种join
分别用在什么情况下
shuffle倾斜怎么解决
数据倾斜怎么解决
AQE实现原理
排序数组的topk大
想复杂了,用了一个大顶堆一个小顶堆qwq
职业规划
绩效
offer情况
teg云存储一面
工作介绍
介绍性能优化
为什么有了aio还需要iouring
iouring用在什么场景下
什么场景比epoll快
什么场景不能用iouring
unorderedmap 多线程怎么做
怎么做哈希表的lock free
怎么解决ABA问题
从大量数据中选出第m大的数
不用快速选择,一次遍历怎么做
哈希表怎么做持久化
wal如果反复写入相同值怎么办
怎么做重写
怎么解决重写占用内存过多的问题
怎么做快照
怎么解决raft对称网络分区的问题
follower的log entry60,master100,怎么追上master
手写lru
快手一面 搜推引擎
自我介绍
说说怎么做性能优化的
mmap原理
futex原理
bthread原理
线程池怎么设计
bthread怎么做steal的
线程池怎么扩缩容
rocksdb的架构
右值
怎么排查内存泄漏
unique ptr
愿意转业务吗
写一个智能指针
写一个数组去重
携程 日志部门
自我介绍
工作介绍
怎么排查性能问题
内存分配的方式
lock free了解多少
多线程有没有经常用
线程同步方法
java了解多少
索引了解多少
设计模式
海量数据如何做存储和索引
ck的存储
rocksdb的存储
rocksdb的索引
ck的索引
算法 链表插入排序(紧张 没a出来
滴滴
自我介绍
new和malloc的区别
delete和free除了析构还有别的区别吗
指针和引用的区别
mysql算子下推
innodb数据页的大小
innodb写入丢失
innodb写入缓冲
mysql算子执行顺序
内存分段和分页
inode是什么
软硬链接区别
文件名存在哪里
join怎么实现的
redolog binlog undolog
rdb干什么的
rdb怎么实现
删除策略
怎么实现高效定时器
fork写时复制
有随机节点的链表拷贝
拼多多一面
spark调度优化怎么做的
scala的future说一下
怎么避免shuffle
怎么做的onehot编码
tail -f操作系统怎么实现的
l1 l2大小
inode里面有什么
parquet和orc
为什么要按行分割
futex原理
怎么保障一致性的
为什么要保障一致性
怎么跨进程传的数据
虚拟地址
是进程的还是操作系统的
mesi
怎么做的向量化
calcite这里做了什么
怎么做的零拷贝
怎么做的eigen优化
codegen了解吗
写一个生产者消费者同步
编译优化了解哪些
为什么要循环展开
写一个日志处理,统计每秒在线人数
为什么要join
返回值能不能move
拼多多二面
- 问项目
- 不推荐用智能指针,为什么
- 网络传输接收端很快,发送端很慢怎么排查(说了tcpdump,cwnd,rwnd,内核的qdisc,send/recvbuffer,tcp buffer,面试官好像不太满意
- avx512有取余吗 有除法吗 为什么
- 优化 for循环里面ret+(i*i)%499(要求性能提升100倍 纯工程 写了一会循环展开被嫌弃了
- 大量集数据,16c 并行 内存能加载的下,排序 我说败者树,shuffle面试官都说不行,并行度不能降低
- unordered_map<int64,bool> 占用内存很大,怎么办 我说swisstable,f14,游程编码bitmap都被否决了
- 平常做过内存优化吗(说了pack 面试官说是最基础的 这个时候已经麻了,什么字典编码,增量编码,游程编码都忘了
- 宏能做递归吗
- 构造函数调用虚函数可以吗,析构函数调用虚函数可以吗
- join优化 (排序归并很慢怎么办 大表join大表怎么办
- 不用递归判断三叉树对称
相关文章:
2024社招面经_存储DB广告架构方向
总结 第一次社招,主要是三四月份面的,offer的有高德、拼多多、腾讯、美团、快手、携程,后面面的比较累了,因为美团定级和涨幅都还行就去了美团,没再继续面别的。 因为时间比较久了,只在这里贴一下当时有记…...
android10 系统定制:增加应用锁功能
实现效果如下,上锁应用在桌面或最近任务打开弹出解锁界面,需要解锁成功才能打开应用。解锁界面可点击返回或Home键关闭,非上锁应用可直接打开。 基本思路:拦截系统应用启动,判断应用是否在锁住状态,弹出解锁Window。解锁完成后再正常启动应用。分为从桌面启动和最近任务…...
数据结构----队列
一、队列 1)队列定义 队列(Queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 允许插入的端是队尾,允许删除的端是队头。队列是一个先进先出(FIFO)的线性表,相应 的也有顺序存储和链式存储两种方式。 2&#…...
【python】实现对文件夹中的图像连续重命名方法
import os import shutildef rename_images(input_folder):# 获取输入文件夹下的所有图片文件(假设都是.jpg格式)image_files [f for f in os.listdir(input_folder) if os.path.isfile(os.path.join(input_folder, f)) and f.endswith(".jpg"…...
【nginx 第一篇章】认识一下 NGINX 服务器
一、简介 Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。由俄罗斯程序员 Igor Sysoev 开发,并在2004年首次公开发布。Nginx 以其高并发处理能力、低内存消耗、稳定性、丰富的功能集、简单的配置以及低学…...
【物联网】(防水篇)哪些电子产品需要通过 IPX7 防水级别测试?
哪些电子产品需要通过 IPX7 防水级别测试? 举例一些可能需要通过 IPX7 防水级别测试的产品 - 电子产品:如智能手机、平板电脑、智能手表、运动手环等,以满足用户在不同场景下的使用需求,例如在潮湿环境或意外沾水时仍能正常工作。…...
高级java每日一道面试题-2024年8月09日-网络篇-什么是XSS攻击如何避免?
如果有遗漏,评论区告诉我进行补充 面试官: 什么是XSS攻击如何避免? 我回答: XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的Web应用程序安全漏洞,攻击者通过在网页中注入恶意脚本,当其他用户浏览这些网页时&…...
Linux时间管理:命令与脚本的完美结合
目录 前言 Linux时间管理命令 date命令 cron定时任务 at命令 sleep命令 脚本与时间命令的结合使用 备份脚本示例 设置cron任务 监控脚本执行时间 结论 致谢 前言 在Linux系统中,时间管理是一项基础而关键的任务。无论是安排周期性的备份、监控任务的执…...
基于ssm+vue+uniapp的微信外卖小程序
开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…...
lvs(linux virtual server)实例
一.lvs概述 1.1什么是lvs LVS(Linux Virtual Server)是一个基于Linux操作系统的虚拟服务器技术,用于实现负载均衡和高可用性。LVS通过将客户端的请求分发到多台后端服务器上,从而提高整体服务的处理能力和可靠性。LVS主要有两个组…...
Unity游戏开发
Unity游戏开发 系列文章的目录: 第一章:Hello,Unity! “好读书,不求甚解;每有会意,便欣然忘食。” 本文目录: Unity游戏开发 Unity游戏开发前言今天我们来体验一下unity开发创建第一…...
5. MQTT消息类型详解(三)
9 SUBACK消息 9.1 消息结构 SUBACK消息是订阅确认消息,格式如下: ------------------------------- | 消息类型(1字节) | ------------------------------- | 保留标志(1字节) …...
TypeScript JSX
介绍 在线的免费的代码转换器工具:可以把HTML 代码移植到 JSX 语法。还支持很多其他的转换。 JSX 是 ECMAScript 的一种类似 XML 的语法扩展,没有任何定义的语义。它不打算由引擎或浏览器实现。它并不是将 JSX 纳入 ECMAScript 规范本身的提议。它旨在供…...
java里的序列化反序列化、HttpMessageConverter、Jackson、消息转化器、对象转化器...都是啥?
前段时间在学习SSM框架(spring boot、spring MVC、mybatis)后端项目的时候,发现他们的项目里:响应类Result类要实现Serializable接口、转化响应给前端的时间数据的格式要用到什么“消息转换器”MappingJackson2HttpMwssageConvert…...
GNU/Linux - memtool使用
在Yocto中为NXP的i.MX系列芯片构建Linux系统时,可以加入一些实用工具,比如直接操作内存的memtool。 这些工具在imx-test包中,比如imx-test_git.bb里。 比如在imx-image-core.bb中,IMAGE_INSTALL "imx-test" ࿰…...
Qt5.12.8源码交叉编译带openssl版本
一.背景 近期项目由于对接方的Qt版本是Qt5.12.8,后台服务是https的,之前用的Qt5.15.10要切换成Qt5.12.8,并且为了能支持https,必须要重新编译Qt。 二.环境 环境准备: Ubuntu版本 :18.04; openss…...
串行并行数据转换
前言 串行数据传输通常在数据传输距离较远时使用,而并行数据传输适用于短距离、高速数据交换。通过转换,可以根据实际需求选择合适的传输方式,以优化数据传输效率和速度。串行数据传输在长距离传输中可以减少信号的干扰和失真,因为…...
推荐一个优秀的 .NET MAUI 组件库
目录 前言 组件介绍 组件展示 布局 按钮 复选框 进度条 导航栏 组件地址 最后 前言 .NET MAUI 的发布,项目中可以使用这个新的跨平台 UI 框架来轻松搭建的移动和桌面应用。 为了帮助大家更快地构建美观且功能丰富的应用,本文将推荐一款优秀…...
用Manim创建条形图【BarChart】
BarChart是Manim库中用于创建条形图的函数。它允许用户通过一组值创建一个条形图,其参数可以调整条形的外观和布局。 BarChart(values, bar_namesNone, y_rangeNone, x_lengthNone, y_lengthNone, bar_colors[#003f5c, #58508d, #bc5090, #ff6361, #ffa600],bar_w…...
iMES工厂管家:强大的工厂管理系统
iMES工厂管家:强大的工厂管理系统 在现代工厂管理中,iMES工厂管家作为一款功能强大的MES系统,为用户提供了全面的管理解决方案。本文将介绍iMES工厂管家的基本信息、特点、以及如何快速部署和使用。 软件简介 iMES工厂管家是一款基于.NetCor…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
