面试官:呀,这么一个小程序,让你写了40-50的代码,其实正常10行就搞定了,一个for循环就可以了,这里一个技巧,就是用两个游标变量,一开始一个取-2,一个取-1,然后比较大小判断是格式是否正确,然后再用string的构造函数,将key的开始地址与结束地址写进去string(str,pos1,pos2)这种,就直接取值了,你这些的太麻烦了,你的程序的时间复杂度是多少? 本人:O(n)啊(我当时挺气愤的,我槽,没按照你说的那种方法,就算错误吗?) 面试官:我觉得你写的代码不行,for格式对不上,而且vim也不熟,你写的代码还要检查几次(意思好像是说他写代码一遍就可以成功呢,他好像没记住c++之父说过的话),既然如此你明白我的意思吧,哎你那个 i++ ,++i怎么有两种,是什么意思(扣我的语法扣了半天这种错误) 本人:明白,明白,那个是个人习惯,但是i++会多一次构造拷贝。 面试官:嗯嗯,那我这边没什么问题了,你明白我的意思吧,你还有什么想问的吗 本人:没有,就这样吧 然后我就走了,面试官坚持要送我出门,还挺客气。。。 出了他们的办公楼,我就突然想了一下他的算法,逻辑似乎有问题,按照他的意思就边检查字符的合法性边解析key=value,一个for循环搞定,那岂不是,如果字符串最后的格式不正确,前面的参数解析都白做了。。。 越想越来气,打通了他们公司hr的电话,反馈了一下面试情况,我知道这是不道德的行为,除非实在忍不住,这是我平生第一次打电话给hr说面试的情况。。。主体意思就是说,请不要随便找个阿猫面试官来糊弄求职者,我们也是大老远跑过来的,不是来给你闹着玩的,我想面试,请找一个专业的。