腾讯8.3

1.C++中的define有什么用?

宏定义在形式及使用上都像一个函数,但它使用预处理器实现,没有了参数压栈,代码生成等一系列操作,因此效率很高,这是它在C中使用的主要原因。

但是使用宏定义只是做预处理器符号表中的简单替换,因此不能享受C++编译器严格的类型检查,另外他的返回值也不能被强制转换为可转换的合适的类型。另外,由于C++引入了类及类的访问控制,无法用宏来实现。

所以引入了inline。

inline定义了类的内联函数,代码被放在符号表中,在使用时直接进行替换,没有了调用的开销,效率也很高。并且inline也是个函数,会检查参数类型,这样也就消除了宏的隐患。最后,inline函数可以作为类的成员函数,也就可以访问所在类的保护成员和私有成员。

inline的劣势是,如果函数太复杂会导致代码膨胀。

2.写一个冒泡排序,然后优化,最后递归实现。

说说优化:根据提示,我修改代码,做了是否已经排好序的判断。不知道是否有更优方法。

void sort(vector<int>& arr)
{
    int len = arr.size();
    bool flag = false;
    for(int i = len-1; i >= 0; i--)
    {
        for(int j = 0; j < i; j++)
        {
            if(arr[j] > arr[j+1])
            {
                swap(arr[j], arr[j+1]);
                flag = true;
            }
        }
        if(!flag) break;
    }
    
}

3.为什么要用hive?

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

4.支撑向量机是什么

SVM,Support Vector Machine

5.使用过哪些shell命令。

我说scp,他问scp用什么协议实现的,TCP/UDP?

6.C++的多态是怎样实现?

虚函数实现的。假如B类继承自A类,A类定义了一个虚函数,说说B的对象里面有什么,是怎样存储的,重点是虚表的实现。

7.问我看了什么书?

千万要答自己看的特别熟的书。我答程序员的自我修养,四个月前简单看了一下,然后他问ELF是什么?我就懵逼了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值