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…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...