面试总结

来源:互联网 发布:淘宝助理的功能 编辑:程序博客网 时间:2024/04/29 20:54

从上个星期六开始投简历到现在,在猎聘、拉勾、智联上陆陆续续投了几十份简历了,邀请面试的有三家,一家是游戏公司,软件园那边的,规模比较大,公司气氛看起来也挺不错,一家是做安防产品的半硬件公司,在靠近郫县的电子科大科技园,人不多,公司氛围比较严肃的感觉,但是个个看起来都很supercoder的感觉,最后一家名字叫爱读书,我以为是iReader这个耳熟能详的公司,结果是一个连官网都木有的不造是啥的小公司,所以没去。


先来说第一家:成都软件园某某游戏公司

进去之后前台小妹来了个常规一条龙服务,给张表填填,倒口水喝喝,给你拉拉家常之类的,完事之后马上进入正题,拿了一张笔试试卷来给我做,时间限制好像没有规定,而且周围没有人守着你做,也就是说你可以悄悄拿出你的手机google一下,但是考虑到他们会不会在监控里偷偷看着你,也就没有实施这个想法。

来说说试卷上的题,共三道:

1‘、有一个vector<string> fruits=<"apple","orrange","banana","orrange","apple".,,,,,,,,,,,,>这样的容器,叫你统计容器里每种水果的数量并输出。

实现版本1:

void furitCount(const &vector<string> fruits){       int applenum,orrangenum,banananum;       applenum=orrangenum=banananum=0;       vector<string>::iterator it;       for(it=fruits.begin(),it!=fruit().end(),it++){                    if( (*it).compare("apple")                         applenum++;                    else if( (*it).compare("prrange") )                          orrangenum++;                     else if( (*it).compare("banana") )                          banananum++;                     else  cout<<"error"<<endl;       }cout<<"applenum: "<<applenum<<endl;cout<<"orrangenum: "<<orrangenum<<endl;cout<<"banananum: "<<banananum<<endl;}
    但是感觉这个版本的实现太过平庸,没有体现任何技巧,于是实现版本2
<span style="white-space: pre;"></span>实现版本2:
</pre><pre name="code" class="cpp"></pre><pre name="code" class="cpp">void furitCount(const &vector<string> fruits){       int applenum,orrangenum,banananum;       applenum=orrangenum=banananum=0;       applenum=count(fruits.begin(),fruits.end(),"apple");       orrangenum=count(fruits.begin(),fruits.end(),"orrange");       banananum=count(fruits.begin(),fruits.end(),"banana");}

这个版本感觉使用了一点点stl中自带算法的,看起来更简洁更高大上,但是要遍历三次才能统计完,性能太差。

各位看管能否给出你们的实现代码呢?我觉得面试官应该像看到的不是我上述两个代码吧?他应该想看到更多的技巧!!!


    2、_int8 data 是一个8位的有符号整数,请将上面得到的各种水果的总数用data存储,写出存储过程和解析过程

    实现代码:

    存储过程:

data=applenum;        data<<2;data+=orrangenum;data<<2;data+=banananum;

    解析过程:

   

banananum=data&3;data>>2;orrangenum=data&3;data>>2;applenum=data&3;

存在问题:

每个水果的数量分配两个位只能表示最多到3,分配3个又不够,大家有更好更高效的存储方法么?

    第三题有点记不住了,也没多大价值,先请各位看官看看上面两个题吧,怎么写才是最好的答案?

0 0
原创粉丝点击