HTML5技术

腾讯面试经验2 - Christal_R(2)

字号+ 作者:H5之家 来源:H5之家 2017-10-22 08:13 我要评论( )

那么N个呢?递归的话容易实现,但不一定是最好的,如果每个数组一个指针会不会空间太大呢?只有N个数组,只需要N个指针,N个指针同时进行比较,每次找最小的一个数记录(问题简化了,相当于在N个数中寻找最小的一个

  那么N个呢?递归的话容易实现,但不一定是最好的,如果每个数组一个指针会不会空间太大呢?只有N个数组,只需要N个指针,N个指针同时进行比较,每次找最小的一个数记录(问题简化了,相当于在N个数中寻找最小的一个数)。显然N的指针更佳令人满意。那这N的指针如何进行比较?我先说的是快排的拆分函数(以一个数为基准,比该数小的在左边、大的在右边),而这个基准数是随机的,所以调用一次拆分函数,返回函数中基准值下标,如果下标大于1,再对下标的左边部分继续调用函数;如果下标小于等于1,直接返回下标为0的元素。这样的做法减少了递归次数,不必使得整个序列有序。但是这个做法还是不能让面试官满意。N个数中,只是找一个最小的数,我还能想到的是堆,但是我对于堆不熟悉,只知道当记录数很多的时候用堆最合适。我也是这样同跟面试官说的,最后再次问了时间和空间的复杂度,我理解的堆排序时间复杂度是O(nlogn),但是这个复杂度是将整个序列变得有序的复杂度,而我们只需要找一个最小的,所以我的回答是,若堆排序的时间复杂度是X,那么这种解法的时间复杂度是O(N*M*X),空间复杂度为常数。

第二题  回文数函数实现

  第二道题是写代码,让我写出回文数的代码实现,给了我一个函数的定义,让我实现该函数。当然我会故意问一位数的数字算不算回文数!这道题没什么难度,所以我不慌不忙地写,也把所有边界情况都考虑到位。写了一个最简单的代码:

1 //-1:异常 2 //0:不是回文数 N 100 5 int Palindromic(int value) 6 { 7 int x = value, k = 0 ,start, end; 8 int a[N] = {0}; (x==0) ; 13 while(x!=0) 14 { 15 a[k++] = x%10; 16 x = x/10; 17 } start = 0, end = k-1; 21 if(start > end) (start == end) ; { 27 while(start<end && a[start]==a[end]) 28 { 29 start++; 30 end--; 31 } 32 if(start<end) ; ; 35 } 36 }

回文数

   后来仔细想想以前的代码,还有更简单不易错的代码:

1 //0:不是回文数 Palindromic2(int value) 4 { 5 int x = value; 6 int remainder = 0; (x!=0) 9 { 10 remainder = x%10; 11 reverse_value = reverse_value*10 + remainder; 12 x = x/10; 13 } (value == reverse_value) ; ; 19 }

回文数(优化) 

第三题  服务器压力测试设计

  第三道题他说是设计题,让我设计一种方法来测试服务器的压力,听完他的题目说明,我是一脸萌比的,大概是问的“假设:服务器tps=100000,怎么测试服务器压力”,很尴尬的向他求助,能不能给点提示,他又说“假设一个线程tps=1000”,结合他的提示,我只能把与相关的知识全部说出来,如线程的通信方式:(1)管道(2)系统IPC(信号量、____、消息队列)(3)套接字Socket,其中漏了一个,因为这个问题毫无头绪,我已经有点着急了,接着继续说,要想达到100000的tps,肯定需要多个线程,我想用信号量来实现,例如我100个进程就能达到想要的tps的话,我给这些进程100个锁来实现。他忍不了,说用共享内存来实现多个进程的通信更快,我恍然大悟,哦!!我遗漏了共享内存......我急忙赞同他的说法,他又接着问我这多的线程要怎么管理呢?这...我只能认输不知道。他告诉我,需要用一个线程来管理其他多线程的并发操作。

  后来自己百度了下这个问题,原来是WeTest的测试大师

  三个问题问完之后,对于面试结果,我心里还是有点B数的,面试官并没有走流程让我问他问题,说今天的面试就到此吧。我起身拿起包打算离开,但还是很像问他问题,所以我先问他我能否向他提一个问题,他同意之后,我问他我们这样的本科应届生有什么建议和意见吗?他还是很耐心的跟我讲了一些对应届本科生的建议,最后说我阅历太少,经验不够,基础功不扎实。我回应了几句,并向他表示了真心的感谢之后离开了房间。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 第9期Unity User Group Beijing图文报道:《Unity实战经验分享》 - 慕容小匹夫

    第9期Unity User Group Beijing图文报道:《Unity实战经验分享》 -

    2017-10-11 17:00

  • 腾讯发布 Omix 1.0 - 用 JSX 或 hyperscript 创建用户界面 - 【当耐特】

    腾讯发布 Omix 1.0 - 用 JSX 或 hyperscript 创建用户界面 - 【当耐

    2017-08-08 17:00

  • 腾讯 AlloyCrop 1.0 发布 - 【当耐特】

    腾讯 AlloyCrop 1.0 发布 - 【当耐特】

    2017-08-02 13:00

  • 关于面试!(投递篇) - 碎冰

    关于面试!(投递篇) - 碎冰

    2017-07-28 18:00

网友点评
5