腾讯视频 后端实习生面试 20200527

嗯,项目为了一个项目的大体的结构啊,具体的功能是什么的,然后你是负责什么职责团队有多大

你觉得项目中的比较难的一个点,你是如何解决的?

项目有一个导出功能是一个web项目,然后如何解决导出时间过长的一个问题。

数据库的一个权限的是怎么实现的? 用户、角色和权限的数据库模型是如何抽象出来的?

操作系统。进程和线程的一个区别。进程之间是如何进行通讯的?知道管道模型吗?

计算机网络,简单描述一下TCP/IP的5层网络,从浏览器访问服务端的一个数据结合这5层的一个结构,具体的流程是怎么样?

传输层tcp和udp的区别,Tcp的三次握手,细节中的停止等待、滑动窗口、流量控制、阻塞是否有了解呢?

物理层传输的是什么?路由算法有了解吗?

网络层Ip的一个种类,A、BCD类别的IP分别是什么

数据库ACID是否有了解?

数据库各方面的索引有哪些类型?有没有做过数据库查询相关的性能优化?如何判断索引是否命中了。

编程题:Leetcode 31. 下一个排列

贝叶斯公式的理解

首先上图展示了贝叶斯公式的一个定义和简单的变形。

B:表示证据,或者说结果;A表示理由,原因\(\overline{A}\)则表示除了A之外的原因。

P(A|B)表示一个结果发生了,有多大的概率是A这个原因导致的,即How much you can trust the evidence,你有多大的把握相信B这个结果是由A导致的。

带入实际的场景很很好理解:B表示老板骂你,A表示工作失误。工作失误可能是老板骂你的原因,那么有一天老板骂你了,由多大的概率是因为你工作出现了失误呢?这就是通过P(A|B)进行刻画。

假设\(\overline{A}\)表示老板被家暴了,老板收到家庭中的暴力,迁怒至你的身上也是一种你被骂的原因。

全概率公式展开:P(老板骂你)=P(老板骂你| 老板被家暴)P(老板被家暴)+ P(老板骂你| 工作失误 )P(工作失误) ,可以老板骂你的概率由两个起因来决定。

P( 工作失误|老板骂你)= P(老板骂你| 工作失误 )P(工作失误) /P(老板骂你)
这样就容易理解贝叶斯公式的含义了。

P(老板骂你| 工作失误 ) 这一项如何理解,表示出现工作失误时,老板骂你的概率。这就可能取决于老板的性格。

  • 假设1:如果老板是一个对工作十分严格的人,并且家庭十分和睦。某一天老板骂你了,那么大概率时你工作出现了失误。
  • 假设2:如果老板时对工作很宽容的人,即使你工作出现失误,鲜有骂人的现象,但是你不知到家庭是否和睦。某一天他骂你了,你更应该相信是老板被家暴了。
  • 假设3:如果老板家庭很不和睦,老板是一个由原则的人,不会迁怒至不相干的人。那么有一天老板骂你了,更有可能是你工作出现了失误。

上述假设中,要么假设某种原因的先验概率P(A)很小,要么假设原因和evidence之间的关联P(B|A)很小(似然),这些都会导致最后的后验情况不同。

P(A|B)通常被成为后验概率,即evidence在后项。

e.g. P(θ|x)通常在深度学习中被称为后验概率,表示数据是已有的结果,或者说证据,二参数就是导致数据出现的原因。

再考虑一个现实场景,假设你是一个很优秀的程序员,犯错的概率很小,有一天你的代码编译失败,你更愿意相信是编译器的问题还是你自己犯错倒置编译失败了呢?当然是你自己的问题了,因为P(编译器出现问题)这个先验概率实在是太小啦,你再优秀能和编译器比吗?除非你是写编译器的那个人,嘻嘻。

References:

https://blog.csdn.net/u011508640/article/details/72815981