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…...

iOS ------ 事件响应链
响应者链 响应者链是由一系列链接在一起的响应者(UIResponser之类:UIApplication,UIViewController,UIView)注组成的。一般情况下,一条响应链开始于第一响应者,结束于application对象。如果一个…...

Go 语言 switch 语句的特点
在 Go 语言中,switch 语句设计得更加简洁和直观,因此不需要显式使用 break 语句来终止一个分支。这种设计决策源于 Go 语言的一些设计哲学和目标,主要包括: 自动终止: Go 语言的 switch 语句会在每个 case 执行完成后自…...

【递归】什么是递归-C语言为例
递归是指一个函数在其定义中直接或间接调用自身的编程技巧。在C语言中,递归常用于解决可以被分解为更小的子问题的问题。递归函数通常由两个主要部分组成: 基准情况:这是递归停止的条件,通常是最简单的情况。 递归情况࿱…...

vue针对低版本浏览器不兼容es6特性解决方案,
browser.min.js 解决ES6兼容IE browser.min.js,polyfill.min.js vue针对安卓低版本、ios9 不兼容 es6特性解决方案 解决IE9无法使用promise的js脚本,引入后,还需跟browser.js配合使用 Babel 默认只转换新的 JavaScript 句法,po…...

嵌入式内存管理高频面试题及参考答案(4万字长文)
目录 嵌入式系统中内存管理的重要性 嵌入式系统中的内存主要分为哪几类? 静态内存分配和动态内存分配的特点 内存对齐的概念及其作用 嵌入式系统中为什么需要关注内存碎片问题 内存分区的概念及其在嵌入式系统中的应用 内存映射文件的概念及其在嵌入式系统中的作用 虚…...

TinyWebserver的复现与改进(2):项目的整体框架
上文我们成功运行了代码,本文我们将对项目的整体流程作一下讲解 如果你之前没做过相关的内容,对服务器的⾼并发模型也⼀⽆所知,不建议继续做下去,需要的前置知识有: Linux的基本命令(⭐)多进程…...

R 语言学习教程,从入门到精通,R 字符串(10)
1、R 字符串 R 语言字符串可以使用一对单引号 ’ ’ 或一对双引号 " " 来表示。 单引号字符串中可以包含双引号。 单引号字符串中不可以包含单引号。 双引号字符串中可以包含单引号。 双引号字符串中不可以包含双引号。 以下示例演示来字符串的使用: a …...

QT 简易音乐播放器
目录 放置控件 获取mp3文件 播放音乐 准备工作 加载模块 加载头文件 new一个output对象,Mediaplayer对象 把outpout对象交给mediaplayer对象 给播放器设置音乐 播放 优化 上一曲下一曲功能 双击歌曲播放 获取音乐时长和音乐播放时间 让音乐进度条跟随音乐走 调…...

代码随想录八股训练营day32
代码随想录八股训练营day32 1、synchronized和lock的区别是什么 (1)synchronized和lock的区别是什么 synchronized和Lock都是Java中用于实现线程同步的手段,synchronized是Java的关键字,基于JVM的内置锁实现,可以用于…...

11.面试题——消息队列RabbitMQ
1.RabbitMQ是什么?特点是什么? RabbitMQ是一种开源的消息队列中间件,用于在应用程序之间进行可靠的消息传递。它实现了AMQP(Advanced Message Queuing Protocol)协议,提供了强大的消息处理能力。RabbitMQ的…...