學(xué)習(xí)啦 > 創(chuàng)業(yè)指南 > 職場 > 面試題 > 亞信科技面試題及參考答案

亞信科技面試題及參考答案

時(shí)間: 如英753 分享

亞信科技面試題及參考答案

  亞信的輝煌歷程見證著中國通信行業(yè)的信息化發(fā)展進(jìn)程。亞信科技的求職競爭很激烈,準(zhǔn)備好怎么回答面試題很關(guān)鍵,以下是小編為大家收集到的亞信科技面試題,希望對大家有幫助!

  亞信科技面試題篇1

  1. 排序算法 時(shí)間復(fù)雜度 ,說出你喜歡的一種算法,說其原因

  插入排序 O(n^2)

  歸并排序 O(nlog2n)

  快速排序 最好 O(nlog2n) 最壞 O(n^2)

  冒泡排序 O(n^2)

  選擇排序 O(n^2)

  堆排序 O(nlogn)

  希爾排序O(n^2)

  2. 逆序單鏈表

  3. 進(jìn)程間通信有哪幾種

  現(xiàn)在最常用的進(jìn)程間通信的方式有:管道,信號,信號量,消息隊(duì)列,共享內(nèi)存,套接字(socket)。

  (1) 管道是一種半雙工的通信方式,數(shù)據(jù)只能單向流動(dòng),而且只能在具有親緣關(guān)系的

  進(jìn)程間使用。進(jìn)程的親緣關(guān)系通常是指父子進(jìn)程關(guān)系

  (2) 信號量是一個(gè)計(jì)數(shù)器,可以用來控制多個(gè)進(jìn)程對共享資源的訪問。它常作為一種鎖機(jī)制,防止某進(jìn)程正在訪問共享資源時(shí),其他進(jìn)程也訪問該資源。因此,主

  要作為進(jìn)程間以及同一進(jìn)程內(nèi)不同線程之間的同步手段

  (3) 消息隊(duì)列是由消息的鏈表,存放在內(nèi)核中并由消息隊(duì)列標(biāo)識符標(biāo)識。消息隊(duì)列克服了信號傳遞信息少、管道只能承載無格式字節(jié)流以及緩沖區(qū)大小受限等缺點(diǎn)

  (4) 信號是一種比較復(fù)雜的通信方式,用于通知接收進(jìn)程某個(gè)事件已經(jīng)發(fā)生

  (5) 共享內(nèi)存就是映射一段能被其他進(jìn)程所訪問的內(nèi)存,這段共享內(nèi)存由

  一個(gè)進(jìn)程創(chuàng)建,但多個(gè)進(jìn)程都可以訪問。共享內(nèi)存是最快的 IPC 方

  式,它是針對其他進(jìn)程間通信方式運(yùn)行效率低而專門設(shè)計(jì)的。它往往

  與其他通信機(jī)制,如信號兩,配合使用,來實(shí)現(xiàn)進(jìn)程間的同步和通信。

  (6) 套解口也是一種進(jìn)程間通信機(jī)制,與其他通信機(jī)制不同的是,它可用于不同及其間的進(jìn)程通信

  4. 進(jìn)程和線程的區(qū)別

  簡而言之,一個(gè)程序至少有一個(gè)進(jìn)程,一個(gè)進(jìn)程至少有一個(gè)線程.

  線程的劃分尺度小于進(jìn)程,使得多線程程序的并發(fā)性高。

  另外,進(jìn)程在執(zhí)行過程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存,從而極大地提高了程序的運(yùn)行效率。

  線程在執(zhí)行過程中與進(jìn)程還是有區(qū)別的。每個(gè)獨(dú)立的線程有一個(gè)程序運(yùn)行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個(gè)線程執(zhí)行控制。

  從邏輯角度來看,多線程的意義在于一個(gè)應(yīng)用程序中,有多個(gè)執(zhí)行部分可以同時(shí)執(zhí)行。但操作系統(tǒng)并沒有將多個(gè)線程看做多個(gè)獨(dú)立的應(yīng)用,來實(shí)現(xiàn)進(jìn)程的調(diào)度和管理以及資源分配。這就是進(jìn)程和線程的重要區(qū)別。

  5. OSI七層網(wǎng)絡(luò)模型與TCP/IP四層網(wǎng)絡(luò)模型

  Osi:物理,數(shù)據(jù)鏈路,網(wǎng)絡(luò),傳輸,會(huì)話,表示,應(yīng)用

  TCP/IP :網(wǎng)絡(luò)接口,網(wǎng)間,傳輸,應(yīng)用

  6. 用socket寫出 server 和 client 的函數(shù)

  Server:int socket,int bind,listen,accept,read,write

  Client:socket,connect,write,read

  7. 多線程有哪些函數(shù),越多越好

  pthread_create 創(chuàng)建線程

  pthread_self 獲取自身線程的id

  pthread_once 一次性初始化

  pthread_join 獲得進(jìn)程的終止?fàn)顟B(tài)

  pthread_mutex_init 初始化一個(gè)互斥量 8. TCP和UDP的區(qū)別

  TCP---傳輸控制協(xié)議,提供的是面向連接、可靠的字節(jié)流服務(wù)。當(dāng)客戶和服務(wù)器彼此交換數(shù)據(jù)前,必須先在雙方之間建立一個(gè)TCP連接,之后才能傳輸數(shù)據(jù)。TCP提供超時(shí)重發(fā),丟棄重復(fù)數(shù)據(jù),檢驗(yàn)數(shù)據(jù),流量控制等功能,保證數(shù)據(jù)能從一端傳到另一端。

  UDP---用戶數(shù)據(jù)報(bào)協(xié)議,是一個(gè)簡單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議。UDP不提供可靠性,它只是把應(yīng)用程序傳給IP層的數(shù)據(jù)報(bào)發(fā)送出去,但是并不能保證它們能到達(dá)目的地。由于UDP在傳輸數(shù)據(jù)報(bào)前不用在客戶和服務(wù)器之間建立一個(gè)連接,且沒有超時(shí)重發(fā)等機(jī)制,故而傳輸速度很快

  9. Explicit含義和作用

  禁止隱式轉(zhuǎn)換,防止程序員誤操作

  亞信科技面試題篇2

  1. c++ 繼承與派生中,隱藏與覆蓋的條件,含義,區(qū)別

  成員函數(shù)被重載的特征:

  (1)相同的范圍(在同一個(gè)類中);

  (2)函數(shù)名字相同;

  (3)參數(shù)不同;

  (4)virtual關(guān)鍵字可有可無。

  覆蓋是指派生類函數(shù)覆蓋基類函數(shù),特征是:

  (1)不同的范圍(分別位于派生類與基類);

  (2)函數(shù)名字相同;

  (3)參數(shù)相同;

  (4)基類函數(shù)必須有virtual關(guān)鍵字。

  “隱藏”是指派生類的函數(shù)屏蔽了與其同名的基類函數(shù),規(guī)則如下:

  (1)如果派生類的函數(shù)與基類的函數(shù)同名,但是參數(shù)不同。此時(shí),不論有無virtual關(guān)鍵字,基類的函數(shù)將被隱藏(注意別與重載混淆)。

  (2)如果派生類的函數(shù)與基類的函數(shù)同名,并且參數(shù)也相同,但是基類函數(shù)沒有virtual 關(guān)鍵字。此時(shí),基類的函數(shù)被隱藏(注意別與重寫混淆)

  1. 構(gòu)造和析構(gòu)函數(shù) 是什么,寫一個(gè)拷貝構(gòu)造函數(shù)

  當(dāng)一個(gè)類含有一些數(shù)據(jù)成員,你需要在實(shí)例化類的時(shí)候就初始化這些成員,你就需要自己定義構(gòu)造函數(shù)。例如Person類含有m_strName成員,你在聲明該類是就將其賦值 Person myPerson("張三")

  對于拷貝構(gòu)造函數(shù),為了防止淺拷貝造成的兩個(gè)對象指向同一內(nèi)存,當(dāng)刪除其中一個(gè)對象后導(dǎo)致另一對象指向內(nèi)容為空的時(shí)候,我們就需要定義自己的拷貝構(gòu)造函數(shù)來進(jìn)行深拷貝。 當(dāng)你的類數(shù)據(jù)成員中使用了動(dòng)態(tài)分配的內(nèi)存,你就需要定義自己的析構(gòu)函數(shù)來釋放這部分內(nèi)存,防止內(nèi)存泄露。

  系統(tǒng)定義的默認(rèn)構(gòu)造函數(shù)和析構(gòu)函數(shù)函數(shù)名和類名相同,如Person類: Person()構(gòu)造函數(shù)

  ~Person()析構(gòu)函數(shù)

  拷貝構(gòu)造:

  String::String(const String &other)

  {

  }

  String & String::operate =(const String &other)

  {

  }

  2. Vector容器

  vector test;//建立一個(gè)vector

  test.pushback(1);//把1和2壓入vector 這樣test[0]就是1,test[1]就是2

  test.pushback(2);

  亞信科技面試題篇3

  1. 統(tǒng)計(jì)目錄下所有文件數(shù)目 ls |wc –l

  2. 查找出10天未改動(dòng)的文件 find . –ctime +10

  3. 刪除一個(gè)目錄下的所有文件 (不能用rm –f,用xargs) If(this == &other) Return *this; Delete [] data; Int length = strlen(other.data); Data = new char[length+1]; Strcpy(data,other.data); Return *this; Int length = strlen(other.data); Data = new char[length+1]; Strcpy(data,other.data);

  find . -type f -exec rm {} \;

  find . -type f |xargs rm

  4. 用一個(gè)命令新建一個(gè)目錄a,a里面含有目錄b mkdir -p a/b

  5. Sed 正則表達(dá)式

  6. Vi 查找一個(gè)字符串

  7. Ls –l 和 ls –l *的區(qū)別

  Ls –l 只顯示當(dāng)前目錄下的文件和目錄;

  Ls –l * 顯示當(dāng)前目錄下的文件和目錄,并且顯示子目錄下的所有文件和目錄

  8. Shell有幾種

  目前流行的Shell有ash, bash, ksh, csh, zsh等

  bash是Linux系統(tǒng)默認(rèn)使用的Shell

  9. Awk的使用 (最后2列數(shù)據(jù)相加)

  2. 說出你常用的shell命令。并解釋其作用

  3. 把一個(gè)目錄下所有文件的名稱括目錄后加.bak

  rename ’s/$/\.bak/’ *

  4. Doc文件的換行符和unix下?lián)Q行符有什么區(qū)別

  DOC和windows中換行由回車和換行符\r決定

  Unix就一個(gè)換行符 \n

  ORACLE 部分

  1. 建1張表,2個(gè)字段確定一個(gè)主鍵和索引,然后根據(jù)這2個(gè)字段統(tǒng)計(jì)最大費(fèi)用 (寫出建表,建索引和建主鍵的語句寫出)

  CREATE TABLE table (

  Name varchar2(4) NOT NULL,

  Value varchar2(20) , PRIMARY KEY(name ,value)

  )

  TABLESPACE 表空間;

  CREATE INDEX DCUSTMSG_IDX ON DCUSTMSG (name,value);

  CREATE UNIQUE INDEX DCUSTMSG_PK ON DCUSTMSG (name , value);

  2. Truncate與delete的區(qū)別

  truncate的作用是清空一個(gè)表格,在刪除數(shù)據(jù)方面,其與delete有一些區(qū)別,

  1、在功能上,truncate是清空一個(gè)表的內(nèi)容,它相當(dāng)于delete from table_name。

  2、delete是dml操作,truncate是ddl操作;因此,用delete刪除整個(gè)表的數(shù)據(jù)時(shí),會(huì)產(chǎn)生大量的roolback,占用很多的rollback segments, 而truncate不會(huì)。

  3、在內(nèi)存中,用delete刪除數(shù)據(jù),表空間中其被刪除數(shù)據(jù)的表占用的空間還在,便于以后的使用,另外它是“假相”的刪除,相當(dāng)于windows中用delete刪除數(shù)據(jù)是把數(shù)據(jù)放到回收站中,還可以恢復(fù),當(dāng)然如果這個(gè)時(shí)候重新啟動(dòng)系統(tǒng)(OS或者RDBMS),它也就不能恢復(fù)了!

  而用truncate清除數(shù)據(jù),內(nèi)存中表空間中其被刪除數(shù)據(jù)的表占用的空間會(huì)被立即釋放,相當(dāng)于windows中用shift+delete刪除數(shù)據(jù),不能夠恢復(fù)!

  4、truncate 調(diào)整high water mark 而delete不;truncate之后,TABLE的HWM退回到 INITIAL和NEXT的位置(默認(rèn))delete 則不可以。

  5、truncate 只能對TABLE,delete 可以是table,view,synonym。

  6、TRUNCATE TABLE 的對象必須是本模式下的,或者有drop any table的權(quán)限 而 DELETE 則是對象必須是本模式下的,或被授予 DELETE ON SCHEMA.TABLE 或DELETE ANY TABLE的權(quán)限。

  7、在外層中,truncate或者delete后,其占用的空間都將釋放。

  8、truncate和delete只刪除數(shù)據(jù),而drop則刪除整個(gè)表(結(jié)構(gòu)和數(shù)據(jù))。

  3. Dml和ddl的區(qū)別

  修改數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫結(jié)構(gòu)等等的語句成為DDL

  比如:alter table, create table, alter user, truncate table等等 修改數(shù)據(jù)本身的語句成為DML

  比如:update,insert,delete

  DDL不可以rollback,但是DML可以

  4. 索引的數(shù)據(jù)結(jié)構(gòu)是什么,為什么用這個(gè)?

  B樹

  5. 視圖 是什么,并建立一個(gè)

  CREATE OR REPLACE VIEW tableview (字段1,字段2) as (select 字段1,字段2 from table 1 UNION select 字段1,字段2 from table 2)/

  6. 內(nèi)鏈接和外連接分別是什么?有什么關(guān)系?

  7. 刪除一個(gè)表的重復(fù)數(shù)據(jù)

  8. 刪除一個(gè)表的重復(fù)數(shù)據(jù),只留一條數(shù)據(jù)(用一個(gè)sql)

  select distinct num from tabname into temp a1

  delete from tabname

  insert into tabname select * from a1

  delete test3 a

  WHERE EXISTS (SELECT 1

  FROM test3 b

  WHERE a.A = b.A and a.B = b.B AND a.rowid < b.rowid)


猜你感興趣:

1.2017亞信java面試題目整理

2.2017無領(lǐng)導(dǎo)小組面試題目整理

3.最新的亞信面試題目及參考答案

4.亞信科技面試題及參考答案

5.亞信科技java面試題及答案

1699609