EE和CS到底差别太大了,非专业的差距太大了,全方位的,而且是没法复习到的算法,没有环境。
笔试其实也不算特别难,一些条件概率,数学期望什么的,然后一些常见的数学题,二进制数什么的,然后常见的类指针不申请内存错误,异或交换值;而且说30分就能进面试了。
面试就过于变态了,一面就面一个小时,等于我在华为两面的时间了。问的问题更变态,基本没法复习的。
首先描述项目经历,问了些不痛不痒的问题。
然后是基本算法题,问我树里面找出所有等于值value的节点个数,一紧张,听成了二叉树,写了个递归形式,然后面试官看了一下,说改成循环形式写成树吧。纸上写程序真的差好多,然后时间又紧,脑子一片空,想写个最简单的前序遍历形式的,怎么都写不出来。然后我说我能写成层序遍历么,然后描述了下思路。关键要用java写,最近写的数据结构都是用c++,java里面的stack api都记不大清了。。其实层序遍历逻辑是最简单的。。。尼玛,一开始就用这个就好了。。
接着高深的来了。。。。。
1 用户拍了一张图片,然后去互联网搜这张图,用算法描述下怎么确定这张图或者说确定这张图的特征???
不搞图算法啊。。。。。。。。。只好瞎bb了,将图切割成小块,然后用DFS OR BFS 确定这张图的特征。。。很明显错的。。。
2 淘宝上用户会有好评和差评,怎么区分文本形式的好评和差评??
。。。。。从来没想过这个问题,只好说会有好的词汇和差的词汇,根据词汇的数量来区分好评和差评,然后面试官的脸色。。。。。。。。
3 阿里巴巴曾经因为当hash冲突时,用类似二次探测法解决冲突时,导致内存爆掉系统crush掉。。。问我为什么。。。
完全不知所云。。。二次探测法还能导致内存爆掉?????
然后一面出来就知道挂了。一类的互联网企业确实太难了。对于我这种学EE的人。。。
哪位大侠路过看到这些题给个答案。。。。。。。。。。。。。。。。。。求答案。。。。特别是二次探测法导致系统内存爆掉的。。