当前位置:   article > 正文

【2020年数据分析岗面试题】不断更新...(含自己的理解、思考和简答)_3. 扑克牌54张,平均分成2份,求这2份都有2张a的概率

3. 扑克牌54张,平均分成2份,求这2份都有2张a的概率

【更新日志】

日期 内容
2020.03.20 扑克牌54张,平均分成2份,求这2份都有2张A的概率;男生点击率增加,女生点击率增加,总体为何减少?;参数估计;假设检验;置信度、置信区间;协方差与相关系数的区别和联系;中心极限定理; p值的含义;时间序列分析;怎么向小孩子解释正态分布;下面对于“预测变量间可能存在较严重的多重共线性”的论述中错误的是?;PCA为什么要中心化?PCA的主成分是什么?;极大似然估计
2020.03.21 事务是什么?事务的四大特性?事务的使用;并发事务带来的问题;事务的隔离级别;常用的表的存储引擎;MySQL中索引的优点和缺点和使用原则;mysql联合索引;为什么使用数据索引能提高效率;B+树索引和哈希索引的区别;B树和B+树的区别;为什么说B+比B树更适合实际应用中操作系统的文件索引和数据库索引?;Mysql中的myisam与innodb的区别;一张表里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把mysql重启,再insert一条记录,这条记录的ID是18还是15 ?;mysql为什么用自增列作为主键;MySQL分区;行级锁定的优点;行级锁定的缺点;mysql优化;key和index的区别
2020.03.22 归一化的定义、公式、优缺点;标准化的定义、公式、与归一化对比;什么是交叉验证;为什么需要交叉验证;什么是网格搜索(Grid Search);线性回归应用场景、定义、公式;线性回归经常使用的两种优化算法;梯度下降和正规方程的对比;回归的选择;梯度下降的种类;回归性能评估;欠拟合和过拟合定义、解决办法;正则化的定义和类别;12.正则化线性模型;13.sklearn模型的保存和加载API;逻辑回归的应用场景;逻辑回归的原理;“那像你提到有用到Xgboost,你有测试过Xgboost和GBDT的效果区别吗?你认为在你的项目上是什么导致原因导致了这个区别”;“xgboost对缺失值是怎么处理的?”;“那你知道在什么情况下应该使用Onehot呢?”;“你能讲一下Xgboost和GBDT的区别吗?;LGB比xgboost快且精度高的原因;分类的评估方法
2020.04.02 索引失效的情况;脏读是什么;什么情况下会脏读;事务的隔离级别;sql语句的优化;sql的优化;python的迭代器生成器;二分查找是什么;快速排序是什么;怎么样处理垃圾邮件;怎么样实现论文的查重系统;手写sigmod激活函数;什么是主从复制;mysql怎么实现负载均衡;knn算法解释;推荐系统需要采集用户的哪些特征
2020.04.09 更新阿里数据分析面试题

文章目录

统计理论知识

1. 扑克牌54张,平均分成2份,求这2份都有2张A的概率。

M表示两个牌堆各有2个A的情况:M=4(25!25!)
N表示两个牌堆完全随机的情况:N=27!27!
所以概率为:M/N = 926/53*17

2.男生点击率增加,女生点击率增加,总体为何减少?

因为男女的点击率可能有较大差异,同时低点击率群体的占比增大。
如原来男性20人,点击1人;女性100人,点击99人,总点击率100/120。
现在男性100人,点击6人;女性20人,点击20人,总点击率26/120。
即那个段子“A系中智商最低的人去读B,同时提高了A系和B系的平均智商。”

3. 参数估计

用样本统计量去估计总体的参数。
可参考https://vicky.blog.csdn.net/article/details/105131308

4. 假设检验

参数估计和假设检验是统计推断的两个组成部分,它们都是利用样本对总体进行某种推断,但推断的角度不同。
参数估计讨论的是用样本估计总体参数的方法,总体参数μ在估计前是未知的。
而在假设检验中,则是先对μ的值提出一个假设,然后利用样本信息去检验这个假设是否成立。
可参考:https://vicky.blog.csdn.net/article/details/105131409

5. 置信度、置信区间

置信区间是我们所计算出的变量存在的范围,置信水平就是我们对于这个数值存在于我们计算出的这个范围的可信程度。

举例来讲,有95%的把握,真正的数值在我们所计算的范围里。

在这里,95%是置信水平,而计算出的范围,就是置信区间。

如果置信度为95%, 则抽取100个样本来估计总体的均值,由100个样本所构造的100个区间中,约有95个区间包含总体均值。

可参考http://www.360doc.com/content/18/0317/16/15033922_737796626.shtml

6. 协方差与相关系数的区别和联系。

协方差:
协方差表示的是两个变量的总体的误差,这与只表示一个变量误差的方差不同。 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值。 如果两个变量的变化趋势相反,即其中一个大于自身的期望值,另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。
相关系数:
研究变量之间线性相关程度的量,取值范围是[-1,1]。相关系数也可以看成协方差:一种剔除了两个变量量纲影响、标准化后的特殊协方差。

可参考http://blog.sina.com.cn/s/blog_6aa3b1010102xkp5.html

7. 中心极限定理

中心极限定理定义:
(1)任何一个样本的平均值将会约等于其所在总体的平均值。
(2)不管总体是什么分布,任意一个总体的样本平均值都会围绕在总体的平均值周围,并且呈正态分布。
中心极限定理作用:
(1)在没有办法得到总体全部数据的情况下,我们可以用样本来估计总体。
(2)根据总体的平均值和标准差,判断某个样本是否属于总体。
可参考https://www.zhihu.com/question/22913867/answer/250046834

8. p值的含义。

基本原理只有3个:

  • 一个命题只能证伪,不能证明为真
  • 在一次观测中,小概率事件不可能发生
  • 在一次观测中,如果小概率事件发生了,那就是假设命题为假

证明逻辑就是:我要证明命题为真->证明该命题的否命题为假->在否命题的假设下,观察到小概率事件发生了->否命题被推翻->原命题为真->搞定。

结合这个例子来看:证明A是合格的投手-》证明“A不是合格投手”的命题为假-》观察到一个事件(比如A连续10次投中10环),而这个事件在“A不是合格投手”的假设下,概率为p,小于0.05->小概率事件发生,否命题被推翻。
可以看到p越小-》这个事件越是小概率事件-》否命题越可能被推翻-》原命题越可信

9.时间序列分析

是同一现象在不同时间上的相继观察值排列而成的序列。

在这里插入图片描述

10.怎么向小孩子解释正态分布

(随口追问了一句小孩子的智力水平,面试官说七八岁,能数数)

拿出小朋友班级的成绩表,每隔2分统计一下人数(因为小学一年级大家成绩很接近),画出钟形。然后说这就是正态分布,大多数的人都集中在中间,只有少数特别好和不够好

拿出隔壁班的成绩表,让小朋友自己画画看,发现也是这样的现象

然后拿出班级的身高表,发现也是这个样子的

大部分人之间是没有太大差别的,只有少数人特别好和不够好,这是生活里普遍看到的现象,这就是正态分布

11. 下面对于“预测变量间可能存在较严重的多重共线性”的论述中错误的是?

A. 回归系数的符号与专家经验知识不符(对)

B. 方差膨胀因子(VIF)<5(错,大于10认为有严重多重共线性

C. 其中两个预测变量的相关系数>=0.85(对)

D. 变量重要性与专家经验严重违背(对)

12. PCA为什么要中心化?PCA的主成分是什么?

因为要算协方差。单纯的线性变换只是产生了倍数缩放,无法消除量纲对协方差的影响,而协方差是为了让投影后方差最大。

在统计学中,主成分分析(PCA)是一种简化数据集的技术。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。

主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。

主成分分析的原理是设法将原来变量重新组合成一组新的相互无关的几个综合变量,同时根据实际需要从中可以取出几个较少的综合变量尽可能多地反映原来变量的信息的统计方法叫做主成分分析或称主分量分析,也是数学上处理降维的一种方法。

主成分分析是设法将原来众多具有一定相关性(比如P个指标),重新组合成一组新的互相无关的综合指标来代替原来的指标。通常数学上的处理就是将原来P个指标作线性组合,作为新的综合指标。最经典的做法就是用F1(选取的第一个线性组合,即第一个综合指标)的方差来表达,即Va(rF1)越大,表示F1包含的信息越多。因此在所有的线性组合中选取的F1应该是方差最大的,故称F1为第一主成分。如果第一主成分不足以代表原来P个指标的信息,再考虑选取F2即选第二个线性组合,为了有效地反映原来信息,F1已有的信息就不需要再出现再F2中,用数学语言表达就是要求Cov(F1,F2)=0,则称F2为第二主成分,依此类推可以构造出第三、第四,……,第P个主成分。

13. 极大似然估计

利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。
参考https://blog.csdn.net/zengxiantao1994/article/details/72787849

业务思维逻辑

  1. 不用任何公开参考资料,估算今年新生儿出生数量。
    采用两层模型(人群画像x人群转化):新生儿出生数=Σ各年龄层育龄女性数量*各年龄层生育比率

数据库

1.select FROM_UNIXTIME(UNIX_TIMESTAMP(),‘Y D M h:i:s x’);
少百分号%

2.mysql分区语句,排错!

3.mysql其他语句排错!

4.mysql rank,dense_rank,row_number 排序有什么区别!

5.mysql truncate 与 delete 的区别!

6.mysql 优化

7.hadoop中hive 和 hbase有什么区别?

8.mysql 死锁的原理,怎么解决

9.给用户更改所有者,所组!

10.谈谈mysql(mysql的高级功能)

11.事务是什么?事务的四大特性?事务的使用

(1)事务就是用户定义的一系列执行SQL语句的操作, 这些操作要么完全地执行,要么完全地都不执行, 它是一个不可分割的工作执行单元。
(2)事务的四大特性ACID原子性、一致性、隔离性、持久性

  • 原子性(Atomicity)
  • 一致性(Consistency)
  • 隔离性(Isolation)
  • 持久性(Durability)
    原子性:
    一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性
    一致性:
    数据库总是从一个一致性的状态转换到另一个一致性的状态。(在前面的例子中,一致性确保了,即使在转账过程中系统崩溃,支票账户中也不会损失200美元,因为事务最终没有提交,所以事务中所做的修改也不会保存到数据库中。)
    隔离性:
    通常来说,一个事务所做的修改操作在提交事务之前,对于其他事务来说是不可见的。(在前面的例子中,当执行完第三条语句、第四条语句还未开始时,此时有另外的一个账户汇总程序开始运行,则其看到支票帐户的余额并没有被减去200美元。)
    持久性:
    一旦事务提交,则其所做的修改会永久保存到数据库。
    **说明:**事务能够保证数据的完整性和一致性,让用户的操作更加安全。
    **注意:**在使用事务之前,先要确保表的存储引擎是 InnoDB 类型, 只有这个类型才可以使用事务,MySQL数据库中表的存储引擎默认是 InnoDB 类型。
    (3)事务的使用
    开启事务:
    begin;

    start transaction;
set autocommit = 0;
insert into students(name) values('刘三峰');
-- 需要执行手动提交,数据才会真正添加到表中, 验证的话需要重新打开一个连接窗口查看表的数据信息,因为是临时关闭自动提交模式
commit

-- 重新打开一个终端窗口,连接MySQL数据库服务端
mysql -uroot -p

-- 然后查询数据,如果上个窗口执行了commit,这个窗口才能看到数据
select * from students;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

回滚事务使用 rollback;

pymysql中:
pymysql 里面的 conn.commit() 操作就是提交事务
pymysql 里面的 conn.rollback() 操作就是回滚事务

12.并发事务带来的问题

  • 脏读:dirty read
    一个事务修改来了数据未提交,另一个数据读取了未提交的数据。

  • 丢失修改:lost to modify
    两个事务都修改了数据之后,第一个数据修改就会丢失。如数据A=10,事务1:A=A-1;

事务2:A=A-1,最后结果发现为19;

  • 不可重复读:Unrepeatable Read
    A事务在多次修改数据之间,B事务读取了数据,但是B在A事务执行之间读取的时候,可能会发现读取同一个数据的时候两次读到的不一样;

  • 幻读:Phantom Read
    幻读与不可重复读相同,但是是一个事务多次插入或者删除数据,另一个事务读取的时候会发现多了或者少了数据。

13.事务的隔离级别

  • Read-Uncommitted(读未提交)
    最低的隔离级别,允许读取尚未提交的事务,会导致脏读、幻读、不可重复读。

  • Read-Committed(读已提交)
    允许并发事务读取已经提交的数据,可以防止脏读,单有可能幻读、不可重复读。

  • Repeatable-Read(可重复读)
    mysql的默认隔离级别,对同一字段的多次读取都是相同的,除非数据是被本身事务修改。可以防止脏读与不可重复读,但有可能会有幻读。

  • Serializable(可串行化)
    最高的隔离级别,完全按照ACID,所有事务依次执行。

在这里插入图片描述

12.常用的表的存储引擎

  • 常用的表的存储引擎是 InnoDB 和 MyISAM
  • InnoDB 是支持事务的
  • MyISAM 不支持事务,优势是访问速度快,对事务没有要求或者以select、insert为主的都可以使用该存储引擎来创建表

13.MySQL中索引的优点和缺点和使用原则



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/258113
推荐阅读
  

闽ICP备14008679号