第一次,面试官:用过STL库吗?
我:???
面试官:就是vector之类地。
我(挠头):哦~~用过用过,还有栈啊,堆啊(wrong answer)。。。
面试官心想:这孩子可以回家等消息了
第二次,面试官:用过STL库吗?
我(语气坚定):嗯嗯!
面试官:看过STL源码吗,知道deque底层实现吗?
我:???我还是回去等消息吧。
写这篇博文,是因为实在懒得手写了,字特么太丑了。这篇博文只是算开个头,全是概述,无关紧要的(重点用红字标出来了),如果想看真正的技术博文,后面我会更新的,毕竟,经过这两个月的实习面试,感觉自己还差得挺多的,互联网寒冬不是白喊喊的,要赶紧为自己的秋招做准备了。哦对了,我是机械动力专业的,想找互联网的工作,C++开发,游戏研发,软件开发,只要是码农我都愿意干的:——)、
面试官问有用过STL库吗,你可以回答:
有用过,我还稍许了解了一点STL的源码,STL提供6大组件,容器中的vector(动态数组),list,set,map都有接触到。
然后开始接受面试官的狂轰乱炸吧。没看过STL源码,只看网上零零星星的面经和看完源码后的回答,是天壤之别,可以在这块让你和面试官聊好久,然后= =减少其他方面的提问时间,名曰《遮羞布》。
STL的六大组件:
- 容器。vector、list、deque、set、map
- 算法。sort、search、copy
- 迭代器。泛型指针,只有容器设计者才知道如何遍历自己的元素。
- 仿函数。行为类似函数,可作为算法的某种策略。(没遇到过吧)
- 配接器。一种用来修饰容器或仿函数或迭代器接口的东西。
- 配置器。负责空间配置和管理。
STL有好多版本,书里篇幅最多的是SGI STL版本,那就主要关注这个吧。