一个多月找实习的经历

从2014年一月开始,投各大互联网公司实习岗位,因为暑期只有两周的假,所以不是很用心,但也有很多值得说的,写下来,一为总结,二则期待对大家有点帮助。

1月16号,投了网易游戏的研发实习岗位,过了很久一直没有消息,大概3月初,收到拒信,没看上我,电面什么的机会都不给,可能比较看重专业吧,另外我的项目经历也比较偏硬件,也许公司觉得这人不靠谱吧。

3月初,百度、腾讯和阿里巴巴都来了宣讲会,因为百度在北京,不是很感兴趣,而且也是直接简历筛选没有通过,略伤心。因为看了很长时间的算法理论,于是报了阿里巴巴的算法工程师,这个公司先是在线笔试,那张试卷确实做的不怎么滴,有两个题目都是交完卷后发现有更简单高效的算法,但是做试题的时候没有想到这些问题。阿里巴巴的算法工程师笔试没有通过,让我郁闷了一阵,特别是听说BBS有内推信息,可以直接进入面试之后,就更郁闷了。一直觉得阿里巴巴这公司还是不错的,比百度那只会搜出广告来的公司靠谱多了。


腾讯宣讲会之后是现场笔试,外校的人很多,一半多吧。笔试的人也很多。笔试不是很难,最后一个附加题现在有点没有想明白。

笔试里,附加题的第一题是根据JSON对数值的定义写代码求值。


 慧根有限,加上之前是做过一段时间的veilog+FPGA的,对有限状态机比较熟悉,就按照有限状态机的方法写了一个程序,现在我也不知道有没有什么更合适的方法。


过了几天收到腾讯一面的通知,一面的面试官比较年轻,问的问题也不难,但是总是在不断提出问题,这些问题都不是很好回答,也许水平真不怎么的。


一面面试官问我的第一个问题给定一个正整数N,写程序输出1-N之间有多少个质数。

质数的题很基础(大数的质数分解没有多项式时间解,这是很多加解密方法的关键),就是循环除,看是否可以被整除.

两个细节,一是除到sqrt(N),而不是到N-1;而是每次除都是加2,而不是加1。

对1-N的数做一个循环,如果是质数,则计数值增加1,最后返回计数值。

面试官看完后,说程序没有问题,问我有没有更快的方法,我说有,质数的判断有更快的算法,但是有一定概率出错。面试官又说,我们就假定这种判断素数的算法就是最好的,有没有更快的方法。我不知道。

ok,给你一个双核cpu,你会怎么做?

一个核处理一半数据,一个处理[1,N/2],另一个处理[N/2+1, N]。

建立几个线程?

两个,因为算法确定后,运算量就确定了,这些运算总是要完成的,而且,这些数字是否是素数的判断之间是独立的,可以并行进行。

行,如果单核CPU需要T的时间,那么双核CPU用你的方法处理需要多少时间?T/2 吗?

不是,因为前一半的数据需要的运算会少,后面的会多,因此,程序运行时间取决于运行时间比较长的那个,大于T/2。

那么,可以做到T/2吗?

可以,在数据投入运算之前,先把1-N之间的数打乱分成两份交给两个不同线程执行。

行,这题到这,下一个问题,如果QQ后台需要对所有QQ消息进行过滤,去掉一些敏感词,你会怎么做?

我能想到的就是以关键词建立一棵字典树。扫描一遍,如果发现一些序列出现在字典树的根节点,那么,根节点的长度和当前扫描位置将可以确定哪些位置的字符需要被替换掉,过滤掉。

后面又说了很多,但是感觉面试官都这些答案都不是很满意。


不过还是给了二面机会。二面是一个40岁左右的人,略消瘦,可能是IT人累,瘦。

第一个问题,写一个makefile,以及为什么需要makefile,作用是什么?

第二个问题,解释一下http和https的区别?

第三个问题,单链表中存了一些信息,写一个函数将链表中的数据存到文件中,再写一个函数将文件中的数据恢复到链表。

第四个问题,翻译一段英文,这是我对自己回答最满意的部分,哈哈。

第五个问题,一个QQ号平均100个好友,一共有8亿QQ用户,给定两个QQ号,怎么判断两QQ是否六度可达?首先是广度优先搜索,其次是从两个各搜3度,否则广度优先搜所根本不可用。

这题说完后,让我算概率,orz,算概率,见到数学就晕菜。求,任意两个QQ号非六度可达的概率是多少?

好吧,我只知道很小,接近于0,但是确实不知道怎么算。知道的请告诉我,谢谢。

第六个问题,写一个函数指针。我写成这样,int* (f)(int*,int*),现在我也不知道这是不是对的。

后来问了实习时间,我说一个月吧,他说,我们这边最少要两三个月,一些校招不会给的special offer需要先考察三个月,挺有诱惑力,但是我只有两周。


腾讯没有后话了。

接着偶然的消息,投了摩根IT上海的summer intern,三月底摩根来学校宣讲,因为简历投的比较早,所以第二天直接面试了两轮。后面投简历的,都是电面的。各轮都是英文面,虽然英文说的不伦不类,但是居然能融洽友好顺利交流,略意外。

一面是比较简单的,问比较基础的array,list,stack,queue,recursive function等等,然后问your most important decisions,然后问大学有什么遗憾没。

二面是一个比较专业的技术人员面试,后来才知道是一个校友,是一个VP。问的比较难了,好吧,也许是我比较水。

首先问ploymorphsim(写对没?)是怎么回事?怎么实现的?virtual function是怎么实现的?virtual function 调用过程是什么。

然后问constructor function 可以virtual不?为什么?

destructor function可以function 不?在什么情况下必须virtual?为甚?不virtual会怎么样?

映像中constructor是不能virtual的,destructor 在涉及到一些资源释放的时候是必须virtual,否则会内存或者其他资源泄露什么的。

然后问,不virtual是哪个类的资源会泄露?子类还是父类?

这问题本身我就不是很清楚,还是英语说,所以绕了很久。

然后让写一个mergesort程序,写到循环判断条件就说,ok,stop,i think you know how to write this proggram.

然后看我简历写着,熟悉数据库,接着问数据库相关问题。

sql语句会不?group by?会不?什么时候where,什么时候having?

然后又问,inner join和out join有什么区别?

什么是index?

clustered index和nonclustered index 是什么东西?有什么区别?


两轮下来让回去等通知,两周左右收到了去上海final assessment的通知,报机票和住宿,很有米的一公司。

机票买2了,居然是到虹桥机场,一个小时地铁猜到浦东那块。

提前去找了下地方,那写字楼还不错,挺多外国人,附近都是高消费的东西,好吧,苦逼学生党。

说三面四面。

三面是一个美国人,挺友好的,扯了45分钟,就一个问题,给定起始日期和结束日期,怎么样快速算出中间有多少交易日?

然后是扯项目,扯自己最引以为豪的项目。接着扯其他的,交流挺happy。

四面是一个中国女的开发人员吧。进来用英语问我之前面的怎样,我说还行吧,然后我又说了几句英语,然后她说,ok,我们说汉语吧,就这样,估计已跪。。

首先问的是项目,做的一些web项目,问我的技术进化历史。

然后说了一个题目,如何找出一个字符串中第一个只出现一次的字符?

好吧,这题目简单,要求O(n)的话只能hash。

还扯了很多其他的,但是能看出来不是很满意,估计已跪,伤心。


遇到的问题大概都说完了,上海环境不错,不知道能不能混下去。另外,其实我都没想要要不要做IT行业。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值