程式員筆試題–民生銀行

來源:互聯網
上載者:User

今天的筆試和以往最大的不同就是,是在電腦上筆試。感覺還不錯,呵呵

1、首先是選擇題,分為單選和多選。涉及到資料結構,網路通訊協定,軟體工程,sql,作業系統。

 1)Tcp/ip協議通過什麼方式判別不同的進程

 連接埠號碼!

 2)URL可以對應於幾個IP地址

 這個我還在尋找!希望知道的同學留言給我哦!

 3)查詢資料庫的時候,在什麼情況下可能會導致死結

 4)軟體工程裡面:軟體開發階段包括哪些內容


 5)黑盒白盒測試的功能

  (轉)黑箱測試
黑箱測試也稱功能測試或資料驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程式看作一個不能開啟的黑盆子,在完全不考慮程式內部結構和內部特性的情況下,測試者在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入數鋸而產生正確的輸出資訊,並且保持外部資訊(如資料庫或檔案)的完整性。 黑箱測試方法主要有等價類別劃分、邊值分析、因—果圖、錯誤推測等,主要用於軟體確認測試。“黑盒”法著眼於程式外部結構、不考慮內部邏輯結構、針對軟體介面和軟體功能進行測試。“黑盒”法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程式中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。

白盒測試
白盒測試也稱結構測試或邏輯驅動測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程式內部的結構測試程式,檢驗程式中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用於軟體驗證。 “白盒”法全面瞭解程式內部邏輯結構、對所有邏輯路徑進行測試。“白盒”法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程式的內部結構,從檢查程式的邏輯著手,得出測試資料。貫穿程式的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程式違反了設計規範,即程式本身是個錯誤的程式。第二,窮舉路徑測試不可能查出程式中因遺漏路徑而出錯。第三,窮舉路徑測試可能發現不了一些與資料相關的錯誤。還有一個灰盒測試灰盒測試灰盒測試,確實是介於二者之間的,可以這樣理解,灰盒測試關注輸出對於輸入的正確性,同時也關注內部表現,但這種關注不象白盒那樣詳細、完整,只是通過一些表徵性的現象、事件、標誌來判斷內部的運行狀態,有時候輸出是正確的,但內部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要採取這樣的一種灰盒的方法。
灰盒測試結合了白盒測試盒黑箱測試的要素.它考慮了使用者端、特定的系統知識和作業環境。它在系統組件的協同性環境中評價應用軟體的設計。灰盒測試由方法和工具組成,這些方法和工具取材於應用程式的內部知識盒與之互動的環境,能夠用於黑箱測試以增強測試效率、錯誤發現和錯誤分析的效率。 灰盒測試涉及輸入和輸出,但使用關於代碼和程式操作等通常在測試人員視野之外的資訊設計測試。

 6)哈弗曼編碼

 
這個是個很簡單的問題,就是問長度。

 7)穩定排序演算法

 
穩定的排序:冒泡,歸併,插入,基數排序;

  不穩定排序:快排,堆排,選擇,希爾排序


 8)鏈表的刪除

 鏈表的刪除,快捷;因為只需要修改指標;

 現在有一個問題:不知道頭指標的一個鏈表,p指向鏈表中的某點,現在要刪除P點怎麼做?

 分兩步:(1)將p指向節點的值用p->next指向的值替換,即:p->data=p->next->data;(2)p->next=p->next-next;

 9)TCP的三向交握


2、接著就是答題:

 1) 建資料庫表,要求:有三個欄位,c1,c2字元類型,c3,c4是整型,c5是日期類型,c2不可為空,c1 是主鍵

  create table tableName(

  c1 varchar(20) PRIMARY KEY,

  c2varchar(20) NOT NULL,

  c3 int,

  c4 int,

  c5 datetime

 2) 查詢滿足條件的資料:這個屬於很簡單的查詢操作 ,太簡單就不寫了!

3、輸出字串中第一個只出現一次的字元,用兩種方案。

可以使用不同語言寫出各種不一樣的方案。時間複雜度有O(N),空間複雜度為O(1)你知道幾種方式呢!繼續留懸念!嘿嘿

先來一種最簡單的吧:

java代碼:

public class GetFirstChar {public static void main(String[] args) {String str="abdsdfsa";int length=str.length();for(int i=0;i<length;i++){char c=str.charAt(i);if(str.indexOf(c)==str.lastIndexOf(c)){System.err.println(c);break;}}}}

來一種稍微複雜點的:

public static void getFirstChar(String str){char hash[] = new char[26];int length =str.length();for(int i=0;i<length;i++){hash[str.charAt(i)-'a']++;}for(int i=0;i<length;i++){if(hash[str.charAt(i)-'a']==1){System.err.println("hah:::"+str.charAt(i));break;}}}

嘿嘿@!

下面奉上一個C/C++的代碼

#include "stdafx.h"#include <iostream>#include <string>using namespace std;int main(int argc, char* argv[]){string s="afasdfc";int size=s.size();for(int i=0;i<size;i++){if(s.find_first_of(s[i])==s.find_last_of(s[i])){cout<<"the first char is : "<<s[i]<<endl;break;}}return 0;}

答案差不多了!有異議的請留言哇!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.