在长达半个月的等待之后,终于迎来了人生中的第一次面试,感谢吉比特以及面试我的......哥哥?还是叔叔?(没看太清)把我捞起来,总共持续了大概50min。

面试的内容有一部分是准备过的,但是也有好几个问题是我没有接触过的。


一、基础知识

  1. static关键字怎么理解的......
  2. const关键词呢?......那如果const修饰一个函数呢?比如:const{}。遇到过吗?---我在编程中没遇到过,不好意思。
  3. 多态知道吗?......说了静态--函数重载,动态---虚函数)
  4. 虚函数表知道吗?......(每个类一张表,对象掌握指针去访问,可以被继承......)那你知道虚表的底层是怎么实现的吗?---不知道
  5. 内存泄漏知道吗?......那怎么检查泄露呢?......
  6. 模板知道吗?......不知道,只知道vector、map、unorder_map等都是模板
  7. 智能指针知道吗?......(shared_ptr,unique_ptr,weak_ptr)......计数器.......禁止拷贝和赋值操作......那unique_ptr底层是怎么实现的呢为什么就禁止拷贝和赋值呢?(填坑unique_ptr探究)---不知道,那weak_ptr怎么用的呢?......只知道和shared_ptr好像是一起用的。  
  8. 深拷贝和浅拷贝知道吗?......
  9. 隐式类型转换知道吗?---不知道,只知道强制类型转换(后来想想似乎课上讲过...)

二、操作系统

  1. 进程通信的方式......(信号量、管道、共享内存、套接字、还有几个不常用的)......你刚才谈到剪贴板,你认为它安全可靠吗?.....不可靠......

好像还有的,忘记了

三、数据结构

  1. 常用排序算法以及复杂度分析一下?冒泡、选择、直插、归并、希尔......
  2. 堆排序了解吗?.......堆的建立复杂度怎么样?......
  3. 二分查找了解吗?复杂度是多少?......
  4. 哈希冲突怎么解决呀?......
  5. 红黑树了解吗?......(和平衡二叉树比较了一下查找、插入和删除复杂度)
  6. 如何判断图的联通性呢?(dfs,bfs,并查集)......那你知道并查集是怎么实现的吗?---不知道,不好意思。
  7. 最小生成树知道吗?---不知道。
  8. 一个文件去除重复行......(我问这个文件大吗?-先从小的说起)...Linux中 sort | uniq > *.*,awk '!x[i++]' Windows中可以用map来存,逐行查找....那这个文件很大怎么办?大到内存装不下怎么办?-(我问可以给点提示吗?-利用外存)......最后还是认怂,不知道了。

四、设计模式

  1. 知道那些设计模式?......
  2. 组合和继承怎么用?---不会
  3. 单例模式了解吗?
  4. 写一下多线程下的单例模式吧,就写一下getInstance吧!......

五、简短的聊

  1. 你有什么问题吗?---请评价一下我今天的表现吧......
  2. 我又补充了一个lambda表达式......又问了我一个右值引用......不会。
  3. 想做客户端还是服务端......(我说我都可以,我还年轻还能学习......)
  4. 能实习多长时间......

没和我闲聊多少,大概是看我太菜了吧.......

结束。


 

后记

第一次面试,面试官还不错,会引导你。现在还不知道结果。通过这次面试我也知道,我还有很多需要学习的地方。比如设计模式该好好捡一捡了。图的方面也不熟,

昨晚做了360的笔试,有种想哭的感觉。从前我觉得人和人的智商差距不大,但做过智力题之后,我有所改观了。周六还有腾讯和网易的笔试,加油吧,菜鸡!