zoukankan      html  css  js  c++  java
  • 实习面试总结(只写了昨天腾讯的面试和拿到offer的一个小公司, 有空再把前面的补上吧)

    一个月来面了大大小小的公司有近10个,还是总结一下吧,希望对大家有点用处。

    我想说的是,大学四年,如果不会继续读研深造,那么你需要做的不仅仅是疯狂的做项目,或者单独的学算法。

    最好的方式就是都了解一点,但是要有自己擅长的东西,面试的问题无非就是那几个方面,比如C/C++(当然如果

    你的主要语言和我一样是C/C++的话), 操作系统,计算机网络,有一个项目(只要不是档次那么低就可以),

    然后就是基本的算法和数据结构(这个,我觉得是大多数学生所欠缺的)。

    一.  腾讯

    昨天到上海参加现场面试,到现场之前感觉不是那么紧张,到了才觉得有点慌了。

    别的不说,霸气的大楼看了就让我不敢抬头说话了。到了11楼会议室,加上我只有5个人在等面试。

    没要几分钟,工作人员就让我到某间会议室去面试,进去之后,第一眼我就发现那位面试官穿的拖鞋,

    不过也没有太多惊讶,毕竟人家的主场。

    好啦,进入正题。

    首先,他看了看简历,就开始问了我项目的问题,其实这是我最不愿意被问的东西,然后就硬着头皮给他babalabala。

    之后说到多线程,他问我项目中用的是阻塞还是非阻塞。。我压根就没了解过这个词啊!!于是就说不知道了。

    问: 我项目中有哪些亮点?

    我又是一顿babalabala。。

    问: 你擅长哪些东西呢?

    答:C/C++比较熟悉,对Linux也挺熟的,还有一些基础的算法和数据结构。

    于是,

    问: 虚函数是干嘛的?

    答: 我想这特么简单啊,虚函数用在继承中,希望子类重写父类中的虚函数,用来实现多态啊。

    问: 那虚析构函数呢?

    答: 这个也是虚函数啊, 当用父类指针指向子类实例的时候,析构该指针所指向对象时会先调用子类的析构函数,然后再调用父类的析构函数。

    问: 数组名和指针有什么异同呢?

    答: 数组名指向的就是数组的首地址。后来想想,这个问题我回答的超级烂,数组名在编译器看来就是个常量,在编译阶段就可以知道的值。

           这种问题,我就是一时想不到那么多,还是不太熟悉呀,细节最重要。

    问: 写一个宏,求两个数的最大值。

    (我心里想,居然问我这种小儿科问题,我最擅长的啊!当然,我知道会有很多人会写不好这个简单的问题)

    答: 我在纸上迅速写了下来

    #define MAX(a, b) ((a) > (b) ? (a) : (b))

    问:定义一个函数指针,该函数返回类型为int,有一个int型的参数。

    (我想,好简单。问这种问题好爽)

    答: 在纸上写了。面试的时候都是在纸上写代码。还好我练过!

    int (*func)(int);

    问:你读过那些有名的书吗?

    答:<<C++ Primer>>, <<C指针>>, <<C陷阱和缺陷>>, <<C专家编程>>, 还有鸟哥的Linux书籍,一些算法和数据结构的书。

    问:写一个函数,输入为一个字符串,字符串可能包含一些空格, 输出是这些以空格作为分隔符的字符串数组。

    显然这个问题不是那么简单,会有许多需要注意的地方,我想了一下,在纸上写了起来。

     1 vector<string> split(string inputString) {
     2     vector<string> answer;
     3     unsigned int length = inputString.size(), i = 0;
     4     while ( i < length && inputString[i] == ' ' ) i++;
     5 
     6     string str = "";
     7     for ( ; i < length; i++) {
     8         if ( inputString[i] == ' ' ) {
     9             answer.push_back( str );
    10             str = "";
    11             while ( i < length && inputString[i] == ' ' ) i++;
    12             i--;
    13         } else {
    14             str += inputString[i];
    15         }
    16     }
    17     if ( str.size() ) answer.push_back( str );  
    18 
    19     return answer;
    20 }

    这是最后一个题目,写完我就觉得简直完美。。但是回来的路上一直很忐忑,生怕哪里写错掉。

    回来之后我把代码写了一遍测试,发现居然少了一句话。。。。尼马,简直了!

    其实上面代码里的 倒数第二句我当时忘掉了。。。也就是没有这句。

     if ( str.size() ) answer.push_back( str );  

    算是对自己的一个教训吧。这个题并不是什么难题,但是写代码的时候我觉得一定要注意以下几点:

    1. 变量的命名规则

    2. 代码风格,有的人离开编辑器或者IDE就不会写代码了。

    3. 一定要细心,不要急着写好就给面试官看,仔细检查,就可以避免我当时的低级错误。确实有点紧张。

    4. 考虑要周到,如果字符串头部或者尾部有空格怎么把,或者中间有多个连续的空格怎么处理,这些都是细节,要小心。

    面试最后,他让我问他几个问题,我也就随便问问说实习生来到这里会被安排做哪些工作呢?每天开几次会?babalabala。。。

    滚粗咯...........

    二. 妙技旅行(北京, 创业公司)

    对这个公司的实习的职位超级有feel,因为职位描述的和我要找的工作真的很贴近。

    这是在周二下午即将要上三四节课的时候打来的电话。

    当然,他是看过我的简历了,然后就开始问啦。

    首先,问了项目的东西,但是他问的是我写的LRU Cache。

    问: 你是怎样实现这个机制的呢?

    答: 双向链表+map,其实这里还balabala了好多。不太记得了。

    问:LRU有什么缺点呢?就是在什么情况下会表现的很差?

    答: 不知道。(我当时是真的想不起来了,现在我知道有一种情况是weak locality)

    问:Python的可变类型和不可变类型是什么?

    答:比如tuple是不可改变,(他还举了个例子让我来回答)

    问:将BST变为一个双向链表。

    答: 时间有点紧,想不出来. (其实只需要dfs一下就ok了。

    问: 你知道STL 的map是用什么实现的么? 他的插入删除效率是多少?哪个更块一点呢,为什么?

    答: map用RB-Tree实现的,插入和删除的效率均摊情况下都是对数级别的。至于插入和删除哪个更快一点,我不太清楚( 后来知道和旋转的次数有关

    问: 二分查找的效率是多少? 你可以解释一下二分查找么?

    答: 效率是对数级别。我给他举了一个"猜数字“的例子。

    问: 你可以解释一下C++的多态吗?

    答: 当使用基类指针或引用指向派生类的实例时,会根据其实际类型进行动态绑定。(略了一些, 忘记了。。

    问: 你知道sed和awk的区别么?

    答: (这个问题我并没有回答到点子上,他后来和我说sed是面向行的,而awk是面向列的。。我才明白

    问: 我想查看文件的前几行或者后几行怎么办?

    答: 使用head和tail。

    问: 你有什么问题想问我的吗?

    答: balabalabala

  • 相关阅读:
    《Microsoft Sql server 2008 Internals》读书笔记第十一章DBCC Internals(2)
    《Microsoft Sql server 2008 Internals》读书笔记第十一章DBCC Internals(9)
    《Microsoft Sql server 2008 Internals》读书笔记第九章Plan Caching and Recompilation(10)
    CKEditor在asp.net环境下的使用一例
    《Microsoft Sql server 2008 Internals》读书笔记第五章Table(7)
    《Microsoft Sql server 2008 Internals》读书笔记第九章Plan Caching and Recompilation(11)
    千万数据的连续ID表,快速读取其中指定的某1000条数据?
    javascript中的float运算精度
    .Net与Java的互操作(.NET StockTrader微软官方示例应用程序)
    《Microsoft Sql server 2008 Internals》读书笔记第十一章DBCC Internals(6)
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/4371531.html
Copyright © 2011-2022 走看看