ohmyblog

#数据处理

经典题解析:IP 地址在数据库里怎么存,为什么不用字符串

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。「IP 地址如何在数据库中存储」看起来像小事,却是数据建模的基本功:访问日志、审计流水、风控名单里 IP 都是高频字段,存储选型差一个字节量级,在亿级日志表上就是实打实的索引体积与查询性能差距。

经典题解析:订单表求销量 Top 10,一条 SQL 怎么写

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料(原题给出订单记录表结构,要求「写一个语句,求卖得最好的 top 10 productid」),与任何公司的当前招聘无关。这题写出 SQL 只是及格线,真正的考点藏在两个追问里:第 10 名并列了怎么办?表大了性能怎么办?

历史题目复盘:大数据平台的元数据管理,到底在管什么

先说明属性:这是一篇历史题目复盘,题目出自本地历史面试资料(原题问「对大数据平台中的元数据管理是怎么理解的,元数据收集管理体系是怎么样的,会对大数据应用有什么样的影响」),与任何公司的当前招聘无关。

经典题解析:金额相加为什么不能用 double,0.1+0.2 的坑

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。它是后端面试的常客,因为答错它的代价不是面试挂掉,而是线上账单对不上。

历史题目复盘:把字符串变成序号、序号变回字符串,怎么设计

先说明属性:这是一篇历史题目复盘,题目出自本地历史面试资料,与任何公司的当前招聘无关。这类「字符串和序号互转」的设计题,本质是考察你能不能认出它是一张换皮的进制转换卷。

历史题目复盘:把一堆有交集的集合,合并成互不重叠的分组

先说明属性:这是一篇历史题目复盘,题目出自本地历史面试资料,与任何公司的当前招聘无关。题面只有一句话:给若干集合,只要两个集合有公共元素就合并,最终输出若干互不重叠的集合。

历史题目复盘:一堆数里找出被改过的那个,不用排序怎么做

先说明属性:这是一篇历史题目复盘,出自本地历史面试资料,与任何公司的当前招聘无关。题面:一份原始数据在传输或存储后被改掉了一个数,给你原始副本和篡改后的副本,不许排序,找出改的是哪个数、改成了什么。隐含约束是 O(n) 时间、O(1) 空间。

历史题目复盘:找出字典里所有「兄弟单词」,哈希签名怎么用

先说明属性:这是一篇历史题目复盘,题目出自本地历史面试资料(给定一个字典,用户输入一个单词,找出它在字典里的全部兄弟单词——字母组成完全相同、仅顺序不同的词,比如 listen 与 silent),与任何公司的当前招聘无关。

历史题目复盘:40 亿个整数里,怎么快速判断一个数在不在

先说明属性:这是一篇历史题目复盘,题目出自本地历史面试资料,与任何公司的当前招聘无关。海量数据题是数据处理方向的经典门类,这道「40 亿个整数判断存在性」又是其中出镜率最高的一道——它考的不是算法技巧,是「内存不够时如何表示一个巨大集合」的思维方式。

历史题目复盘:10G 个整数只有 2G 内存,中位数怎么找

先说明属性:这是一篇历史题目复盘,题目出自本地历史面试资料(见文末来源说明),与任何公司的当前招聘无关。「内存装不下,还要算中位数」是海量数据处理的经典题型,面试官想考察的不是排序算法,而是你能否把「排序整个数据集」换成「计数加定位」。