阿里2015实习生招聘 面试第一轮学习

16年11月26日更新

一年多了,虽然都在写多个服务器跨进程逻辑,但现在听到大公司的面试还是很兴奋。还是需要扎实的基础。

问:一个空类

答: 1个,加构造析构1个 ,加虚表4个

问:那2个虚表呢

答:根据继承数量来分析,如果继承2个类各自一个虚表,就是8;如果一个有A有个虚表,B有虚表且继承A,而C继承B,还是4个字节

 问:set  vector  map 区别

 答:  STL在学习,看C++11的标准库书籍。

 问: 怎么样控制一个类(对象?我记不得)在堆上还是在栈上

答: new 和局部定义,我现在想想也就这个回答,堆上无非就是系统提供的内存分配api使用,栈上编译器提供局部定义分配,或者函数参数压入?placement new 也没用过

还有待研究,虽然写了简单内存池但是freelist原理并没有太深入。

搜到了:如何限制对象只能建立在堆上或者栈上

问:该算法了

答: 在持续的联系算法,水平提升的较慢


继续努力吧,以前不知道自己差在哪,常回来看看自己的成长,面对曾经的问题,是否能坦然面对,应答自如。



--------------------------------

15年4月20 我预约了第一场在西安的 阿里巴巴 研发C/C++工程师面试,第一面限制45分钟 ,就算你40去,那就5分钟,因为系统限制.

其次 阿里的所有实习生招聘信息都在官方网页上,且会给你发信息,然后开始最早的时候,他们说服务器有问题...但还是按时 开始了...最后 晚间结束时听说 服务器又慢了..


面试开始 吧 ,递个简历..开始 ,很开心的介绍一下自己...然后强调 计算机本科..计算机科学与技术..C++方向...开始问:

       问:你最多用什么编译器?win还是 linux下?

       答:主要在win下        vs 2005  08 10 12 13,linux会gcc

      // 大概问问基本方向,准备按套路考察你.

       问:一个空类..

       答: 1个,加构造析构1个 ,加虚表4个 ,还相应解释了一下

       //这块我是抢答,当时开心啊..因为他一开口我就知道意图了..后来分析他也可能问 一个空类有什么部分..

      问:那2个虚表呢

       答:这个 这个...我想 应该还是4字节,我不熟悉虚表内部实现,但我 知道他是一个指针指过去的..

       //他嘿嘿 一笑..

      问:stl怎样 ,linux基本命令 ,写了些什么 ,项目 相关

       答:balabala  对答如流

     //沉浸在喜悦中,...

    //期间 偶然提及 内存池 ...

        问: 怎么样控制一个类在堆上还是在栈上

        答: new 和自己定义

        问: 我没说清楚 ,你看 怎么样控制一个类在堆上还是在栈上

        答:构造new成员 ,析构delete

        问:你看我给你画图..怎么样控制一个类在堆上还是在栈上,或者我就要他在堆上 或者只让在栈上..

         答:new啊...

         //我想哪有第三种方法...

       然后他说 :我知道了..

        //后来讨论,原来写过内存池的都知道,很常见的placement new new placement可以指定一个内存,在此处new一个对象,反正我没自己写过内存池,压根就不//知道..一下露底了 ..还完全不知...

        问:该数据结构 了

        答:来吧

        //处于兴奋状态..

       问:set  vector  map 区别

       答:  大概说了一下

       //STL我练得少,我就不丢人了

       问题:那个find 快 有什么特殊 之类

       答:红黑树相关.

      

       问:该算法了

        答: 来吧

        //持续兴奋中....

        问:讲讲 快排基本原理吧

        答: 来我给你写...

        //这个我平时用的最多 ,也背熟了,,想着分分钟写出来 ,结果 当场 第一笔就忘了 返回值类型..后面 又持续中断 ,最后写一半写不出来了..我就 *(& $哎...................败笔啊................

       答:我还是给你讲原理吧...

        //他笑了笑 ,说本来让你写算法..我 原理还记得 ,就尴尬的说了说,.


       问: 1到100数组,随机抽一个数后,又打乱99个数 ,问怎么最快 找出那个数

       答:我想写100个填充-1的数组,然后把这99个数组中的数依次填入,然后 再找到-1即可知道那个数缺失.但我知道这不是最快的方法...

      他提示 有序 ..1到100 ,然后数字放少点 1到10 ,我没想出来

         //当场没想太多,,脑子里就这一个想法...

        //回来后同学说 bitmap 最快,是大公司的经典面试题..我完全不知道...

       //群上讨论结果 1加到100   5050然后减去 乱序99个数之和即可...我擦..

     

       最后他拿出一张纸上大概5个题,选了一道让我在 别的草稿纸上作答..

         new 操作 char **p   来存储 "hello"和"world" 然后 delete

       //我直接new 了char[2][7] 复制给char  **p...没考虑类型..哎..平时用malloc  而且  对new不是很常用...

       //面试官 对这个估计很有经验,然后 第一面出来等了10分中就说今天阿里面试行程结束..我当时还不信..因为整个人还很开心..等了45分钟,在附近游荡了下,确认网页上显示 待回绝...我就 *^&(@ 然后就  坐车回学校了...

        补充:期间还问了 智能指针,2个项目相关 和 函数对象的简单用法.

        补充2:考了深拷贝和浅拷贝

        祝你们好运..

   


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值