zoukankan      html  css  js  c++  java
  • 百度2015商务搜索实习面试总结

    日期:2014-10-21


    今天去面试某Du的商务搜索实习生,是一个学弟给内推的。面我的是一个校友,问题问的非常仔细,基本就是在给我上课(我的基础相当不好),总之收获颇丰。



    面试流程

    自我介绍
    写一个单链表排序函数;假设单链表节点存放数据较大该怎样处理
    Cpp vector 尾端插入元素复杂度,Java ArrayList 尾端插入元素复杂度
    Java ArrayList, LinkList, TreeList 有什么差别
    已知商场30天的销售记录,预估第31天的营业额
    我的基础差到仅仅能问我这些问题。可惜基本没回答道他惬意。

    相应解读
    1.自我介绍
    自我介绍就不用说了,但我描写叙述的让别人感觉似乎我在学校做的项目都是被迫的,这点不太好,下次注意


    2.单链表排序

    我写的是这种:

    void bubblesort(Node* head)
    {
            Node* ptr = head;
            int isChanged = 1;
            int tempData = 0;
            while (isChanged == 1)
            {
                    isChanged = 0;
                    while (ptr != NULL && ptr->next != NULL)
                    {
                            if (ptr->data > ptr->next->data)
                            {
                                    tempData = ptr->data;
                                    ptr->data = ptr->next->data;
                                    ptr->next->data = tempData;
                                    isChanged = 1;
                            }
                            ptr = ptr->next;
                    }
                    if (isChanged == 0)
                    {
                            break;
                    }
                    /*加上之后正确 ptr = head;*/
            }
    }

    回来执行測试了下。就完毕了一遍冒泡。检查了下。发现内层循环结束,指针没回到头指针head处。改动之后,貌似是OK了。不知道算对么···

    假设节点存放的数据较大,那么就交换链表的指向。就是逻辑上换个位置即可。




    3.vector
    vector 尾端插入元素复杂度是啥???我当时蒙住了,毕竟没怎么用过Cpp,想着假设是O(1)怎么可能问这个问题,就回答了不知道。回来查了维基百科,还真的是O(1)。给自己跪了Orz


    4.Java的各种 List
    这个我就直接说不会。平时就用到过 ArrayList,另外两个都没用过。


    5.机器学习
    我给他描写叙述了一遍线性回归。非常显然他要的不是这个单一的答案。当他问我代价函数究竟表示什么。我就一直说是求得一个合适的theta。是的学习得到的曲线更符合想要的。总之就是吧线性回归的步骤都给他讲了一遍。最后还是他点到说求得的theta使得代价函数最小。同一时候告诫我以后看的时候自己动手画一画。把别人讲的消化掉。

    这点我确实没有做到。

    总结
    面试肯定是悲剧了。但他感觉人非常好。等于是一直在给我指导。结束后他给了我一些建议:

    把心态放低。端正学习的态度。


    学好一门语言并熟练掌握,要明确你写的程序中。为什么用这个数据结构而不用同类的其它结构,相比之下有什么优缺点,各种操作的复杂度是什么,都要了然于胸。
    离校招另一段时间,能够在学校好好看看书。《算法导论》是要看的。


    机器学习这方面,课程还继续跟着学。同一时候能够看看关于这方面的书,再有就是《概率论》、《最优化》。以及要了解一些分布式计算的内容(如Hadoop)。
    感想
    果然是深度不够。寻常仅仅会在各种API之间徘徊。确实要有一门核心技术作为支撑了。定下心。敲代码多思考,再回归ACM刷题时代,看公开课的时候不用太急着拿证。一定要学到自己手里。


    给自己一个目标,下次在有面试总结,上面出现的问题不能再有!时间还有,努力ing

  • 相关阅读:
    js正则表达式大全(2)
    Magic Trackpad 2 on win10 x64
    Google 日历短信通知没有了
    Ueditor 1.4.3 jsp utf-8版Bug修复
    [转]eclipse中build workspace的相关优化
    Hello,
    EpCloud开发日志
    为服务创建安装程序
    winform 通过WCF上传Dataset数据
    opcrcw.da.dll 和.net 4.0
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7070864.html
Copyright © 2011-2022 走看看