• 前端实习生面试总结(一)


          最近,终于忙完了学校里的事,然后准备开始找实习,现在实习也找到了,那就说说我找工作的点点滴滴吧,希望对于初次来北京的小白可能会有些帮助吧

         坐火车来的时候就感受到好多人来北京,我也第一次买了站票(虽然我也是提前一个星期买的票),在火车上和来北京的老乡聊天,他们告诉我要做好碰壁的准备,因为北京竞争挺大的,当我跟他们说我投的简历有些职位是合适的,却莫名奇妙的被标记为不合适,他们说是因为投的人太多了,一般投10份简历会有一个面试机会,我投了二十个简历有4个面试机会已经不错了,唉,原来是这样

        生平第一次来北京,正好同学在北京实习,顺便接我一下,但是我只有3,4天的时间去找工作(当然这几天我主要用来面试的,以前早已投了简历,和公司已经约了面试),那几天一般都是在外面跑着面试,在加上北京上班晚,一般中午都不能按时吃饭,但是还好有百度地图,找起来也方便些。

       第一天 天一星辰

       九点我准时到的,前台让我又重新填写了一份简历,后来又等了一段时间,大约十点左右吧,给了我一份试题让我做,其中涉及前端,加密算法,数据结构,linux操作,php,c语言,我肯定是不全会的,不过没办法,只能硬着头皮去做,哪怕只有一点思路,尤其对于数据结构,不管怎么说考研就考的数据结构,对于算法的思想还是明白的,但是用c写,早有些忘了,有些甚至是用汉字写的,linux的题更是不会,前端的题还算简单吧。

        做完以后,人事把我带到面试的房间,扫了一眼办公环境,就是那种普通的格子间,还算可以,正好里面也坐着一个等面试的男生,跟他聊天才知道,他面试的java,我一看他手里拿着的试题,跟我的一样,心想,这怎么能一样呢,不同的岗位啊,我一看那个男生做的,还没我写的多呢,最起码我还死马当作活马医呢,他连医都没医,这个男生有一年的工作经验,比我这小白总该强些吧,其中有一个算法题是这样的

     i=1;

    while(i<n)

    {

       i=i*2;

     }

    求这段代码的时间复杂度 

    这个的复杂度应该是O(logn)

    因为和那个男生讨论了这个题所以对这个题印象深刻

    结果一会人事说到饭点了,下午面试,我也就只能随便吃了点,下午一点面试开始

    面试官30多岁,微胖,看着很友善,问了一些简历上的问题,比如一周有多长时间实习呀,老师让不让出来实习呀,说一说简历上写的项目经历呀,以前在看别人写面试经历的时候说不要别人问一句你答一句,要有问有答,我对这一点还是比较注意的,我问他为什么不同的职位做一套题?他说:“基础的都是一样的”,另外他还问了一些试卷上的题

    比如写出一个算法用前序遍历遍历一棵二叉树

    思路分析:定义一个节点的结构体,其中包括它的值,它的左右节点的指针,然后利用递归去完成遍历

      struct  BTreeNode{

        int data;

       Node* left;

      Node*right;

    };

      void printBTree(struct BTreeNode *bt) 

    if(bt != NULL){ 
    printf("%c", bt->data);

    }
    if(bt->left != NULL )

    {

    printBTree(bt->left); 

    }

    if(bt->right != NULL)

    printBTree(bt->right); 


    return; 

    2.对于一个有序数组查找其中的一个元素的位置,不能直接调用函数

      我想到的是用折半查找,按着大概写出来,却忽略了索引的变动,应该是错了,整理时发现必须把查找的起始位置作为参数,应该是下面的样子了

    function halfSearch(arr,num,low,high)
    {
    if(low<=high)
    {
    // js中/会得到小数 例如9/2=4.5
    var mid=(low+high)/2; 
    var mid=parseInt(mid);
    if(arr[mid]==num)
    {
    alert(mid) ;

    }else if(arr[mid]>num)
    {
    halfSearch(arr,num,low,mid-1);
    }
    else
    {
    halfSearch(arr,num,mid+1,high); 
    }


    }
    return -1;
    }

    3.银川有多少加油站?

    其实这个问题我在程序员面试攻略这本书上见过,当时只是一扫没在意,只是及得要考虑很多客观因素,例如,银川的面积,银川的人口,平均几个人有一辆车,等等,因为考虑到的因素太多,所以没做出来,我觉得这种问题就是看一个人的思考方式吧,觉得有点刁难

    4.有9个球一模一样,其中有一个和其他八个的质量不一样,给你一个天平,天平一次可以称1个或者几个,最差几次能测出?

      这个题当时忽略了球的轻重的重要条件,导致最后是五次,想来想去觉得应该是这样的

     将9个球分三组,标号为1组,2组,3组,1,2组比较最差是不相等,则2,3,比较,如果不等,则2组有问题,并且已经知道那个球是轻还是重,将2组中的三个球再次划分为1,2,3,称一次即可找出那个质量不一样的球,则最差3次找到(如果大家有好的方法,一起交流哈),最好2次找到

    5. 有17个球,两个人来拿,每次可以拿一个或者两个,谁拿到最后一个球谁获胜

      这个题当时做的蒙蒙的,后来想了想应该是这样,当有3个球的时候(这是规律的最小值),后拿的人肯定会赢,17/3=5 余2,则我先拿2个,剩下的我保持别人拿1个,我拿2个,别人拿1个,我拿2个,保证每一轮都拿走3个,那剩下的肯定也是3个,从而保证最后能赢

    6.扑克牌游戏; 两个人玩扑克,每人抽取三张,已知 A 的牌是 4,5,x B是6,7,y,求A胜B的概率是?(小王,大王分别用14,15代替) 用程序实现(略)

    7求100以内的素数

     想必这个问题在我们刚开始接触C语言的时候就是常做的题

    function prime()

    {

    console.time("计时器");
    var arr = [];

    for (var i = 1; i <= 100; i++) {
    var flag = 1;
    for (var j = 2; j <= Math.sqrt(i); j++) {//取平方可是增加运行速度
    if (i % j == 0) {
    flag = 0;
    break;
    }

    }
    if (flag == 1) {
    arr.push(i);
    }

    }
    document.write(arr);
    console.timeEnd("计时器");
    }

       

  • 相关阅读:
    将博客搬至CSDN
    ELK环境搭建(ElasticSearch、Logstash 、Kibana)
    Linux 安装Jdk(保姆级教程)
    从头到尾再说一次 Java 垃圾回收
    Exchange 2013学习笔记二十一:传输规则
    Exchange 2013学习笔记二十:电子邮件地址策略
    Exchange 2013学习笔记十九:证书管理
    Exchange 2013学习笔记十八:ECP设置
    Exchange 2013学习笔记十七:OWA设置
    Exchange 2013学习笔记十六:公用文件夹
  • 原文地址:https://www.cnblogs.com/wenyan/p/5073802.html
Copyright © 2020-2023  润新知