百度
一面
TCP协议
C++里继承的多态
- 概率题,6位数倒过来还是一样的概率
- 从袋子里拿红黑球
- 2xN的大方块,用1x2和2x1填满有多少种方法
- 找一个最长递增子序列
- 判断两个二叉树是否相等
- 判断一个二叉树是否是完全二叉树
- 爬楼梯
- 二分查找
二面
- 快速排序
- 项目
- 有100亿数据,判断出来那些是赌博的?
12. 一个电脑,1k内存,让我跑1T的数据
大数据的套路是:分解大问题,解决小问题,从局部最优中选择全局最优。分解常用方法:hash(x)%,x为字符串/url/ip,m为小问题数目。
UDP 协议是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对应用程序传下来的报文不合并也不拆分,只是添加UDP首部)
TCP协议是面向连接的,提供可靠交付,有流量控制,拥塞控制,面向字节流(把应用层传下来的报文看成字节流)
美团
1.爬楼梯
leetcode#70
# Top down - TLE
def climbStairs1(self, n):
if n == 1:
return 1
if n == 2:
return 2
return self.climbStairs(n-1)+self.climbStairs(n-2)
2 AUC含义?
对结果的概率按从大到小排序,依次取为阈值,计算结果中预测准确和错误的概率分别作为横纵坐标,绘制roc曲线,曲线之下的面积就是auc。
3 XGBoost原理
参考
XGBoost:Extreme Gradient Boosting
Boosting Tree最基本的部分是CART,使用平方损失函数拟合残差为Adaboost,使用一阶梯度拟合残差为GBDT(利用损失函数的负梯度在当前模型的值,作为回归问题中提升书算法残差的近似值)。
……
4 线上模型和线下模型的效果差异怎么解决?
改变评估方法……
5 task,stage,job的关系
一个Job被拆分成若干个Stage,每个Stage执行一些计算,产生一些中间结果。它们的目的是最终生成这个Job的计算结果。而每个Stage是一个task set,包含若干个task。Task是Spark中最小的工作单元,在一个executor上完成一个特定的事情。
6 action和transformation分别有哪些算子?