百度凤巢面试复盘(策略研发方向[实习])

百度凤巢面试复盘(策略研发方向)

一面(51min)
  1. 自我介绍+问项目

  2. 写正则表达式:抓取以a开头b结尾的字符串在哪一行

  3. 算法:逆置链表(注意命名规范

  4. 解释内存中的堆栈:是确切存在的物理结构,是用来存放不同数据的内存空间。堆实际是一个队列,与操作系统内存分配(首次适应等算法契合),用户动态分配释放堆。栈:实际上也是FILO的结构,如递归、函数调用用到,用于保存变量值(保护现场),操作系统自动分配释放栈。

    例题:

    int a=6;
    int *p= new int();
    // p、a分别在栈还是堆
    
  5. 解释C++静态变量,eg:static int a

    两种变量存储在静态存储区:全局变量和static变量

    作用1:隐藏,同样一个变量名在file1.cpp定义,在file2.cpp也可以定义不会冲突。

    作用2:保持变量持久,具有记忆功能和全局生命期。

    作用3:默认初始化为0。

    作用4:C++中的类成员声明static

    在类中声明static变量或者函数时,初始化时使用作用域运算符来标明它所属类,因此,静态数据成员是类的成员,而不是对象的成员。

    (参考:https://www.cnblogs.com/songdanzju/p/7422380.html)

  6. 进程之间的通信方式:套接字、共享内存、管道、锁等;

  7. 网络中进程的唯一标识是什么?简述A进程怎么和B进程通信。

  8. 有以下题目:

    struct A
    {
        int a;
        char b;
    };
    // 求sizeof(A)=?
    

考虑内存对齐,答案为8。
(参考:https://blog.csdn.net/xiong452980729/article/details/70140050)
9. 简述算法:求两个无序数组的交集。(快问快打环节、面试官没给太多思考时间)

–A:用set/multiset

–Q:时间复杂度多少?

–A:底层是红黑树实现,总体时间复杂度O(nlogn)。

–Q:不用容器呢?有没有更快的方法?可以有空间开销。

–A:利用hash,记录哪些元素被访问过。时间复杂度是O(n),但是有额外空间开销。

–Q:如果数组有序呢?不能有空间开销。

–A:(有序必用二分查找啊),用二分查找,将第二个数组的重复元素置为一个不会用到的数。时间复杂度O(nlogn)。

二面(54min)
  1. 自我介绍+问项目

  2. C语言考察,指针考察。

    main()
    {
        char *str;
        input(str);
        cout<<str<<endl;
    }
    // 要求完成input()函数,实现输入什么输出就是什么,保证输入只有数字和字母。
    
    补全:
    void input(char *&);
    int main()
    {
    	char* str;
    	str = NULL;
    	input(str);
    	cout << str << endl;
    	return 0;
    }
    
    void input(char* &str)  	// 注意这里要用指针的引用,因为指针的指向发生改变,实质是值传递。
    {
    	str = new char[101];    // 注意开辟空间
    	scanf("%s", str);		// 注意str前没有&
    }
    
  3. 内存中的堆栈区别。(同一面)

  4. 什么是虚函数。

  5. 算法:实现一个IP地址映射到一个INT,并且INT也能映射会IP地址,不能有额外开销。

    – 由于IPV4是32位,INT也是32位,按位存储即可。

    实现IP地址映射到INT的算法。(字符串处理+位运算)

  6. 一个链表奇数偶数夹杂乱序,如何使奇数在前,偶数在后。

    – 创建两个头指针head1、head2,遍历链表,奇数插入head1,偶数插入head2,最后修改head1链尾指针即可。

  7. 算法:实现二叉排序树。(15min以内实现)

    struct Node
    {
        int val;
        Node *left;
        Node *right;
    };
    
    Node* BuildBST(const vector<int>&nums)
    {}
    // 顺序插入nums中的元素
    
  8. 两个链表,

    1->3->3 表示133这个数

    1->3 表示13这个数

    这两个链表相加

    1->4->6

    如何实现?

    – 考虑特殊情况 9->9->9 , 1 这两个链表相加得 1->0->0->0 ,最好的方法是链表逆置只有,个位对齐,进位向后传递。

三面(10min)

  1. 自我介绍,主要是互相了解情况,说明一些实习原则,然后对你个人进行了解。
  2. 你还有什么问题问我吗?

感受:第一场企业面试,很受用,也很激动,很多话没有说好,也发现自己有很多没有理解的地方。此次面试难度中等,没有压力面。

百度推广第三方工具(凤巢专业版)”是独方于百度的第三方公司针对百度竞价排名服务所开发的专门针对百度竞价排名用户的关键词管理工具。使用本工具管理您百度竞价排名 的账户,为您带来更多的便利。更重要的是,可以使用额外的自动化功能,实现自动出价、固定排名、均匀分配费用等功能。 使用本工具可以对百度竞价账户的自动化管理和控制,自动根据您的关键字信息、购买该关键词的其他用户的排名信息以及其他相关信息综合计算,获得适合您的最经济、最实惠 的排名和价格。使您在保证推广效果的同时,花费更少的竞价费用。 同时软件可以根据您设置的参数实现关键字自动出价、自动暂停等功能,以提高关键词排名、稳定关键词排名、降低关键词的价格、提高推广效果等功能。 本工具还可以按用户所需,选择是否开启区域自动竞价,并且还能重新选择定制区域,您无需要登录百度后台,即可操作。 本软件特色: 管理百度凤巢推广账户 不用登录百度后台即可管理凤巢账户,完成大多数的常用操作。并且界面更加人性化,访问速度更快。并且可以在批量修改信息后一次提交。大大提高了效率 智能推广 帮您省去人工管理推广账户的劳累。您只需设定一些参数,软件即可自动帮您监控推广关键词的信息,并根据您的设置自动调整出价,以保持您的排名。或者在指定的时段暂停关 键词的竞价以节约费用。同时可以发现推广信息存在的不合理因素,提醒您修改。 另外,本工具在此基础上还增加了搜索引擎收录工具、网站排名工具等,可以查询相关网站的排名、与搜索引擎收录情况等查询。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值