【蚂蚁金服】c++岗-二面凉经

先谢谢面试的小哥哥,很耐心的指导和等待…

电话面(50分钟) 视频面试(40分钟)共2小时,没错,就是从10:30分面试到12:30分,面完之后我哥也很吃惊的和我说,“你要想想看,你是凭什么让别人面试你一个多小时的,还是吃饭的时候!”

所以感谢面试官给我这次机会,谢谢。
好了,入下题吧:

  1. 自我介绍,基本都一样,不多说
  2. 最让你印象深刻的比赛经历(因为我简历上有差不多6个奖,所以面试官才会问吧)
    3.实习经历,实习做了什么,学到了什么
  3. 类的三大特性(封装,继承,多态,解释一下)
  4. cpp如何实现多态(从虚指针,虚函数,虚函数表的内存分布位置,虚函数的运行过程介绍了一遍)
  5. 析构函数为什么一般为虚(基类指针指向子类,析构基类的问题)
    7,. 构造析构函数可否抛出异常(不知道)
  6. 内存分配的方式(new,malloc,栈分配)
  7. new/malloc的区别
  8. 函数参数指针和引用的区别,引用和普通参数的区别(引用实际上就是常量指针,引用是将参数的地址传入,而普通参数需要调用一次复制函数。。。)
  9. 指针的大小,64位和32位的区别,int指针和char指针的区别
  10. stl vector在插入元素的时候需要考虑什么(大小会成倍增大,如果知道大小可以预先设定,如果原来已有数据,有需要插入数据,有可能内存不连续导致重新分配全部内存)
  11. stl map,set的底层实现,使用场景
  12. string a=b c有什么优缺点,可以怎么优化
  13. tcp和udp的区别
  14. tcp三次握手和四次挥手具体是怎么样的
  15. 为什么需要第三次握手和time_wait状态
  16. 应用层协议有些(ftp,telnet,http)
  17. telnet的端口号是多少?
  18. 进程和线程的区别
  19. 死锁的理解,如何避免
  20. 线程切换开销大还是进程
  21. 了解吗?(页面置换?)算法有哪些,说几个听一听(刚才才知道原来就是页面置换算法)
  22. 逆置链表
  23. 判断链表是否有环
  24. 编程题
    给你一堆字符串,将这些字符串分类,含有相同字母,且每一个字母的数量都是相同的为一类,每一个字符串只含有小写字母,要求时间复杂度为omn(我现在还是不怎么能理解面试官的思路,我的做法需要Omnlognm,桶排就Omn)
    举个例子:
    abb,aba,bba,aab
    输出:
    [abb,bba],[aba,aab]

  25. 你还有什么需要了解的
    然后面试官先问了我一些大致的情况,然后才是我问问题

有一些可能忘记了,总之,谢谢这位面试官给的机会

发表评论

后才能评论