九月十月百度,迅雷,華為,阿里巴巴,最新校招筆試面試五十題(3)

發表于:2013-10-23來源:Csdn作者:v_JULY_v點擊數: 標簽:軟件測試面試題
9月28日,百度2014校招-武漢站-系統分析師 10月2日,暴風影音2014校招筆試 1、合并兩個已經排序的單鏈表為一個排序的單鏈表,相同內容只保留一個 如:單

  9月28日,百度2014校招-武漢站-系統分析師

  10月2日,暴風影音2014校招筆試

  1、合并兩個已經排序的單鏈表為一個排序的單鏈表,相同內容只保留一個

  如:單鏈表a:1->2->3->4

  單鏈表b:3->4->5

  輸出:1->2->3->4->5

  2、編寫程序,在原字符串中把尾部m個字符移動到字符串的頭部,要求:長度為n字符串操作時間復雜度為O(n),時間復雜度為O(1)。

  如:原字符串為”Ilovebaofeng”,m=7,輸出結果:”baofengIlove”。

  點評:還是類似編程藝術第1章左旋字符串:http://blog.csdn.net/v_JULY_v/article/details/6322882。

  3、暴風影音的片源服務器上保存著兩個文件a和b,各存放50億條URL,每條URL占用64字節,內存限制是4G,讓你找出a,b文件共同的URL。要求:算法設計。

  點評:上述第3題等海量數據處理面試題,請參見此文第第一部分第6題:http://blog.csdn.net/v_july_v/article/details/7382693。

  關于linux內核的幾個面試問題:

  1、Linux中主要有哪幾種內核鎖?

  2、Linux中的用戶模式和內核模式是什么含意?

  3、用戶進程間通信主要哪幾種方式?

  4、有哪幾種內存分配函數?

  微軟一面:輸入兩個數,相加求和,二進制輸出。

  阿里巴巴面試:

  阿里的log文件如下,有三個字段:time(登陸或登出時間點)+uid+login或logout,每條記錄按時間順序排列。問題如下:給定一個時間點T,統計在線人數。

  點評:參考分析請見http://blog.csdn.net/tnndye/article/details/12784237。

  10月8日,百度移動開發-上海站筆試/面試題

  1、三色球排序的問題,相同的球放到一起,讓你按順序輸出紅白藍三種顏色的球,可以用012來表示,要求只能掃描一次數組。

  點評:荷蘭國旗問題,參見此文第8小節:http://blog.csdn.net/v_july_v/article/details/6211155。

  2、實現C的strstr

  點評:手寫字符串處理相關函數是面試中極為常見的一類題型。

  功能:從字符串str1中查找是否有字符串str2,

  -如果有,從str1中的str2位置起,返回str1中str2起始位置的指針,如果沒有,返回null。

  給兩份參考代碼,一份是C代碼:

  [cpp] view plaincopyprint?

  char *mystrstr(char *s1 , char *s2)

  {

  if(*s1==0)

  {

  if(*s2)

  return(char*)NULL;

  return (char*)s1;

  }

  while(*s1)

  {

  int i=0;

  while(1)

  {

  if(s2[i]==0)

  return s1;

  if(s2[i]!=s1[i])

  break;

  i++;

  }

  s1++;

  }

  return (char*)NULL;

  }

  char *mystrstr(char *s1 , char *s2)

  {

  if(*s1==0)

  {

  if(*s2)

  return(char*)NULL;

  return (char*)s1;

  }

  while(*s1)

  {

  int i=0;

  while(1)

  {

  if(s2[i]==0)

  return s1;

  if(s2[i]!=s1[i])

  break;

  i++;

  }

  s1++;

  }

  return (char*)NULL;

  }

  一份是C++代碼:

  [cpp] view plaincopyprint?

  //copyright@caopengcs 2013/10月

  class Solution {

  public:

  char *strStr(char *haystack, char *needle) {

  // Start typing your C/C++ solution below

  // DO NOT write int main() function

  int i,j;

  for (i = j = 0; haystack[i] && needle[j];) {

  if (haystack[i] == needle[j]) {

  ++i;

  ++j;

  }

  else {

  i = i - j + 1;

  j = 0;

  }

  }

  return needle[j]?0:(haystack + i - j);

  }

  };

  //copyright@caopengcs 2013/10月

  class Solution {

  public:

  char *strStr(char *haystack, char *needle) {

  // Start typing your C/C++ solution below

  // DO NOT write int main() function

  int i,j;

  for (i = j = 0; haystack[i] && needle[j];) {

  if (haystack[i] == needle[j]) {

  ++i;

  ++j;

  }

  else {

  i = i - j + 1;

  j = 0;

  }

  }

  return needle[j]?0:(haystack + i - j);

  }

  };

  3、寫一個memmove的函數

  點評:手寫常見字符串處理函數是面試官很喜歡考的一類題型。

  10月9日,暴風影音校招研發筆試

  1、給定字符串A和B,輸出A和B中的第一個最長公共子串,比如A=“wepiabc B=“pabcni”,則輸出“abc”。

  2、TCP建立連接的3次握手過程?若最后一次握手失敗,會怎樣處理?

原文轉自:http://blog.csdn.net/v_july_v/article/details/11921021

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97