范文写作网 > 面试 > 面试经验 > > 深信服面试经验(2)

深信服面试经验(2)

摘要:3.字符串匹配,例如,T=abcabaabcabac,P=abaa,则匹配位是3,请用伪代码写一下算法,并分析时间复杂度,看看是否可以再进一步优化。 for(int i=0;i {for(j=le;j if(T[i]==P[j]) {le++;flag=i;break;} else{le=0;br
关键词:信服,面试,经验,面试,如何,消除,紧张,由于,成功,与否,

七七网,幻影追魂爪,天津机场航班查询

  3.字符串匹配,例如,T=abcabaabcabac,P=abaa,则匹配位是3,请用伪代码写一下算法,并分析时间复杂度,看看是否可以再进一步优化。

  for(int i=0;i

  {for(j=le;j

  if(T[i]==P[j]) {le++;flag=i;break;}

  else{le=0;break;}

  if(le>P.length) printf("%d",flag-le);}

  他跟我讨论了,最终他举了个例子证明了我这个算法有错误,而且介绍了几个算法让我回去研究,例如KMP算法,BM算法。

  4.已知道多边形的各个节点,这些节点连成了这个多边形,如何判断某一个点是否在这个多边形内呢?

  这道他居然没问。。。

  5.有两堆球,每堆都有10个,每个都标有重量,请设计算法重新分配这两堆球,使得两堆球的总重量之差最小。

  一旦选了一堆球,另一堆球就定下来了。每个球有选或者不选两个状态,也就是两个分支,产生一棵二叉树,对其进行动态规划,可利用A*算法为每个节点算一个H函数。

  我基本就是按照上面写的回答他。

  6.有1001个球,两人轮流拿,每次只能拿1、2或者4个,谁拿了最后的一次就算谁输,假设是你先拿,请问你有把握获胜么?如果有,你该怎么拿,如果没有,为什么?

  这道题他也以为我之前做过,汗死,我只能快速的把我的思路讲给听。

  最后他看我的简历问我问题,例如做过的那个项目啊,不过由于那个项目跟算法的不太相关,他也只是稍微问了一下下。

  由于之前提到平衡二叉树,他就问我一个非平衡二叉树如何变成平衡二叉树,我就把上午看到的说了出来,看来是正确的。

  他又问了FOpen这个库函数在处理字符和二进制时有什么区别?

  最后问了一个判断两个单链是否有交接的问题,要求用O(n)的复杂度,由于不太明白这道题具体是怎样的,我说了几个方法他都反驳掉我的了,最终我向他请教怎么做,他用一个O(n^2)的算法跟我说明了这道题,当然他说有O(n)的算法的。。。

  最后他问了下我对于他们公司的其他工作有没有兴趣,例如前台,后台,设备啊等等什么的,我说了有,并说明了原因,他纠正了我对于一些工作的认识。

  经过30分钟的面试后,终于结束了,感觉这次算是一次很正规的了,没有太多的不懂,觉得自己比上次进步了,呵呵,这两天要等通知,无论如何,下次要加油了。