【连载】概率面试题

  |  

摘要: 关于概率面试题的文章

【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:算法题刷刷
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


面试为什么考概率

最近几年在程序员面试中,尤其是校招面试中,经常会问到一些与概率、期望相关的问题,一方面是考查候选人的数学素养,另一方面是概率在计算机中的应用确实很多。

算法工程师、算法研究员、策略产品经理、数据分析师、以数据驱动为核心的公司的风控/营销相关的岗位等等,都是最近几年新出现并且比较热门的岗位,而概率在这些岗位中是通用基础,面试中基本上都会问到。

此外,很多程序员会去金融科技工作,而金融业中的技术岗位,概率是必考的,并且会重点考。

准备这些岗位的同学,有时间的话都可以练习本专栏,将来一定会有用。

这些题零零散散出现在各个平台的面经,周围同学朋友的口述,以及自己的面试实践中,但是没有一个系统的梳理。

算法工程师的概率

我工作至今的职位一直都是算法工程师,这里我从算法工程师的角度谈一谈概率。

最近几年人工智能、数据科学已成为一项推动业务发展的重要技术。而进入这个领域的人,基本上一定会翻阅领域内的文章,以及参与相关任务。那么你会发现与概率有关的问题基本上绕不开:

  • 过滤垃圾邮件,不具备贝叶斯思维的话恐怕不行
  • 要从文本中提取出名称实体,需要研究概率图模型
  • 要做语音识别,那么理解随机过程中的隐马尔科夫模型
  • 要通过样本推断出某类对象的总体特征,估计理论和大数定理的思想是必须建立的
  • 在统计推断过程中,有一类应用广泛的采样方法,蒙特卡洛方法以及马尔科夫过程的稳定性需要研究

可以看到,概率对于程序员来说除了是一项经常在面试中出现的技术,还能够解决很多有意思的实际问题。

关于这个连载专栏

由于概率是很多岗位的通用基础,经常考到。同时我本人对概率还比较感兴趣。因此开启了本专栏的写作,并且长期连载。

这是我陆陆续续更新的一个专栏,本专栏收录的都是面试中常见的概率题,目的就是详细梳理程序员面试中常见的知识点与题目。当然还是以题目为主。

主要来源是一些书中见到的好题(例如陈希孺的《概率论与数理统计》,Ross的《概率论基础教程》中的一些精彩例题等等)、我和周围朋友面试遇到的题以及网上的零散面经中觉得还不错的题。

对于每道题,首先给出思路参考,从概率论的角度推公式求解,然后用蒙特卡洛模拟的方式验证结果。

注意有些题目的思路有时不止一种,而我给出的是基本上都是我自己做的时候的方法,大家如果有不同思路也可以讨论。

以下为持续更新的每道题的链接,另外在 github 的 probability_puzzle 仓库中也有同步更新。

编号 网站链接 备注
1 抽屉中的袜子 -
2 系列赛中连续获胜 -
3 轻率的陪审团 -
4 三人循环赛 -
5 试验直到第一次成功 -
6 公司从用户一次游戏取得的收入 全期望公式、期望DP
7 向正方形区域扔硬币 -
8 祝你好运 -
9 资助赌徒 -
10 完美手牌 -
11 双骰子赌博 -
12 收集优惠券 设计随机变量、全期望公式
13 一排座位 全期望公式、期望DP
14 第二强的选手是否拿亚军 -
15 孪生骑士 条件概率
16 萨缪尔·佩皮斯的问题 全概率公式、概率DP
17 三人枪战 -
18 不公平的硬币 贝叶斯公式
19 不公平的硬币2 贝叶斯公式
20 不公平的硬币3 贝叶斯公式
21 不公平的硬币4 贝叶斯公式
22 有放回抽样还是无放回抽样 贝叶斯公式
23 圆周上随机取3个点形成锐角三角形 几何概型
24 选票盒 概率DP
25 系列赛中不出现平局 概率DP
26 仓促的决斗 几何概型
27 较短的一节木棍 连续型随机变量

Share