面试复盘

百度

一面

TCP协议
C++里继承的多态

  1. 概率题,6位数倒过来还是一样的概率
  2. 从袋子里拿红黑球
  3. 2xN的大方块,用1x2和2x1填满有多少种方法
  4. 找一个最长递增子序列
  5. 判断两个二叉树是否相等
  6. 判断一个二叉树是否是完全二叉树
  7. 爬楼梯
  8. 二分查找

二面

  1. 快速排序
  2. 项目
  3. 有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分别有哪些算子?

你可能感兴趣的:(面试复盘)