主頁 > 後端開發 > PHP面試題2019年阿里巴巴面試題及答案決議

PHP面試題2019年阿里巴巴面試題及答案決議

2020-09-29 06:04:41 後端開發

一、單選題(共27題,每題5分)

1.Memcache與Redis的比較錯誤的是?

A、Memcache過期后,不洗掉快取,會導致下次取資料資料的問題,Redis有專門執行緒,清除快取資料;

B、Memcache和redis都是只支持單執行緒;CPU利用方面Memcache和redis部分伯仲

C、Memcache只支持key value存盤方式,Redis支持更多的資料型別,比如Key value,hash,list,set,zset;

D、Memcache自身不支持持久化,Redis支持持久化;

參考答案:B

答案決議:

Memcache支持多執行緒,redis支持單執行緒;CPU利用方面Memcache優于redis

 

2.mysql5.7中關于json型別的說明,不對的是那個

A、JSON資料可以做有效性檢查

B、json資料中,還是需要遍歷所有字串才能找到資料

C、JSON使得查詢性能提升

D、JSON支持部分屬性索引,通過虛擬列的功能可以對JSON中的部分資料進行索引

參考答案:B

答案決議:

原生的JSON優勢如下: 1. 存盤上類似text,可以存非常大的資料, 2. JSON有效性檢查:插入的資料必須是JSON型別的字串才行, 3. 相比于傳統形式,不需要遍歷所有字串才能找到資料, 4. 支持索引:通過虛擬列的功能可以對JSON中部分的資料進行索引

 

3.執行下面代碼$x會變成什么值呢?

 

A、NULL

B、255

C、0

D、false

參考答案:C

答案決議:

正確答案:C 答案決議:oxFF是一個十六進制數,這時不會轉整型比較,會先將16進制數字轉換成10進制數字,再做比較, 使用int函式,PHP會使用is_numeric_string 判斷字串是否包含十六進制數字然后進行轉換,發現0xff的0后面無數字,故為0.

 

4.大資料的資料庫 (NoSQL)與關系型資料庫的區別:

A、    水平擴展與垂直擴展

B、    是否支持事務的 ACID

C、    應用中兩種資料庫互相補充

D、    以上都是

參考答案:D

答案決議:無

 

5.關于判斷檔案型別,以下說法正確的是?

A、根據檔案的擴展名可以正確判斷檔案的型別

B、根據檔案的特征值可以正確判斷檔案型別

C、根據檔案的大小及特征值可以正確判斷檔案型別

D、通過任何方法也無法100%確定檔案型別

參考答案:D

答案決議:任何方式都可以偽造,所以我們只能通過方法無限接近,而無法完全保證可以判斷正確,

 

6.以下命令描述爭取的是?

ps -aux --sort -pcpu,+pmem | head -n 10

A、查詢CPU使用排名前十的程式

B、查詢訪問CPU十次以上的程式

C、查詢cpu和快取訪問前十的程式

D、查詢cpu和記憶體前十的記錄

參考答案:D

答案決議:ps -aux --sort -pcpu,+pmem | head -n 10 通過aux命令查詢cup和記憶體前十的記錄

 

7.關于json說法錯誤的是:

A、json_encode只能處理utf-8編碼的資料

B、可以用sprintf組裝或決議json字串

C、json_encode只能編碼陣列

D、json_decode可以將json字串解碼成物件

參考答案:C

答案決議:json\_encode 可以編碼成陣列和物件

 

8.以下關于行程和程式的區別的說法,錯誤的是?

A、程式沒有狀態,而行程是有狀態的

B、程式是一組有序的靜態指令,行程是一次程式的執行程序

C、程式可以長期保存,行程是暫時的

D、程式只能在前臺運行,而行程可以在前臺或后臺運行

參考答案:D

答案決議:程式是一段可執行的代碼檔案,在linux上就是檔案, 程式運行時就被稱為行程,即行程是運行狀態的程式,

9.PHP面向物件原則理解錯誤的是?

A、介面分離原則

B、依賴原則

C、替換原則

D、多項職責原則

參考答案:D

答案決議:五大基本原則 單一職責原則SRP(Single Responsibility Principle) 是指一個類的功能要單一,不能包羅萬象,如同一個人一樣,分配的作業不能太多,否則一天到晚雖然忙忙碌碌的,但效率卻高不起來, 開放封閉原則OCP(Open-Close Principle) 一個模塊在擴展性方面應該是開放的而(需要更多學習資料和面試題請加入qun6/7/7/0/7/9/7/7/0)在更改性方面應該是封閉的,比如:一個網路模塊,原來只服務端功能,而現在要加入客戶端功能, 那么應當在不用修改服務端功能代碼的前提下,就能夠增加客戶端功能的實作代碼,這要求在設計之初,就應當將服務端和客戶端分開,公共部分抽象出來, 替換原則(the Liskov Substitution Principle LSP) 子類應當可以替換父類并出現在父類能夠出現的任何地方,比如:公司搞年度晚會,所有員工可以參加抽獎,那么不管是老員工還是新員工, 也不管是總部員工還是外派員工,都應當可以參加抽獎,否則這公司就不和諧了, 依賴原則(the Dependency Inversion Principle DIP) 具體依賴抽象,上層依賴下層, 假設B是較A低的模塊,但B需要使用到A的功能,這個時候,B不應當直接使用A中的具體類: 而應當由B定義一抽象介面,并由A來實作這個抽象介面,B只使用這個抽象介面:這樣就達到 了依賴倒置的目的,B也解除了對A的依賴,反過來是A依賴于B定義的抽象介面,通過上層模塊難以避免依賴下層模塊,假如B也直接依賴A的實作,那么就可能造成回圈依賴,一個常見的問題就是編譯A模塊時需要直接包含到B模塊的cpp檔案,而編譯B時同樣要直接包含到A的cpp檔案, 介面分離原則(the Interface Segregation Principle ISP) 模塊間要通過抽象介面隔離開,而不是通過具體的類強耦合起來,

 

10.三個人獨立地破譯一份密碼,已知各人能譯出的概率分別為 1/5,1/4,1/3,則密碼能被破譯的概率為 ?

A、1/60

B、3/5

C、59/60

D、13/30

參考答案:B

答案決議:題目中,至少有一人能破譯密碼和三人都不能破譯密碼是對立事件, 所以至少有一人能譯出的概率=1-三人都沒譯出的概率=1-(1-1/5)(1-1/3)(1-1/4)=1-2/5=3/5,

 

11.PHP陣列型別與其他型別轉換,以下錯誤的是?

A、int,float,string,boolean,resource型別(array)$a等同于 array($a)

B、(array)object 鍵名是物件成員變數名,鍵值是物件成員屬性

C、array(false)=[] 空陣列

D、(array)null = [] 空陣列

參考答案:C

答案決議:int,float,string,boolean,resource型別(array)$a等同于 array($a) (array)object 鍵名是物件成員變數名,鍵值是物件成員屬性 (array)null =
空陣列,

 

12.以下關于結構型模式說法錯誤的是?

A、結構型模式可以在不破壞類封裝性的基礎上,實作新的功能

B、結構型模式主要用于創建一組物件

C、結構型模式可以創建一組類的統一訪問介面

D、結構型模式可以在不破壞類封裝性的基礎上,使得類可以同不曾估計到的系統進行互動

參考答案:B

答案決議:結構型(structural):處理類或物件間的組合,

 

13.小王的部門領導給下達了一個任務:由于網站某個欄目訪問量很大,因此需要專門給網站的某個url請求做負載均衡,那么該通過什么集群軟體實作呢?

A、LVS集群軟體

B、oneproxy集群軟體

C、haproxy集群軟體

D、keepalived集群軟體

  

很多人在剛接觸這個行業的時候或者是在遇到瓶頸期的時候,總會遇到一些問題,比如學了一段時間感覺沒有方向感,不知道該從那里入手去學習,對此我整理了一些資料,需要的可以免費分享給大家(11年架構師帶你解讀年薪50萬面試通關秘籍,)

如果喜歡我的文章,想與一群資深開發者一起交流學習的話,獲取更多相關大廠面試咨詢和指導,歡迎加入我的學習交流群點擊此處PHP高級交流

 

14.以下檔案被稱為純文本檔案或ASCII檔案的是(),

A、 以.EXE為擴展名的檔案

B、 以.TXT為擴展名的檔案

C、 以BMP為擴展名的檔案

D、 以.DOC為擴展名的檔案

 

15.以下能夠洗掉一列的是

A、alter table emp remove addcolumn

B、alter table emp drop column addcolumn

C、alter table emp delete column addcolumn

D、alter table emp delete addcolumn

 

 

16.以下哪個后綴的檔案型別不是文本檔案?

A、word

B、Excel

C、txt

D、pdf

 

 

17.以下代碼 a.php 輸出的結果是?
a.php 的代碼如下:

 

 

 <b.php的代碼如下:

 

A、foo in a

B、什么也不輸出

C、報錯

D、foo in b

 

18.以下關于非對稱加密的說法錯誤的是

A、加密速度慢

B、安全性高

C、雙方需要同步密鑰

D、可以進行數字簽名

 

 

19.關于Laravel中間件錯誤的是?

A、運行Artisan 命令 make:middleware 創建新的中間件

B、可定義前置 & 后置中間件

C、中間件是代理模式

D、中間件是中介模式

 

 

20.以下可以將PHP變數序列化并且保存到檔案中的是?

A、serialize()

B、json_encode()

C、var_export()

D、以上都可以

 

21.關于php配置選項錯誤的是

A、開啟 short_open_tag 允許使用PHP 代碼開始標志的縮寫形式(<? ?>)

B、如果啟用了 magic_quotes_runtime,大多數回傳任何形式外部資料的函式,包括資料庫和文本段將會用反斜線轉義引號

C、因為可以在運行時使用ini_set對配置選項進行設定,所以display_errors可以一直開啟

D、PHP 的安全模式是為了試圖解決共享服務器(shared-server)安全問題而設立的

 

 

22.關于PHP陣列Bucket結構體,說法錯誤的是?

A、void *pData 指向value

B、void *pKey 指向key

C、void *pDataPtr 指向value的指標

D、struct bucket *pLast 存放同一個Bucket內的上一個元素

 

23.設計性能較優的關系模式稱為規范化,規范化主要的理論依據是( ),

A、關系規范化理論

B、關系運算理論

C、關系代數理論

D、數理邏輯

 

24.從用戶在瀏覽器中輸入網址并回車,到看到完整的頁面,中間都經歷了哪些程序?

A、 瀏覽器->url->dns->ip->port->nginx->tcp->server name->php-fpm/fast cgi->php

B、 瀏覽器->url->dns->ip->tcp->port->nginx->server name->php-fpm/fast cgi->php

C、 瀏覽器->url->dns->ip->port->tcp->nginx->server name->php->php-fpm/fast cgi

D、 瀏覽器->url->dns->ip->port->tcp->nginx->server name->php-fpm/fast cgi->php

 

 

25.閱讀下面PHP代碼,并選擇輸出結果( )

A、0

B、1

C、2

D、3

 

 

26.以下哪條不是PHP語言的特性?

A、開源

B、免費

C、基于客戶端

D、便捷高效

 

 

27.關于PHP陣列key和value的限制條件,說法正確的是?

A、key只能是int或string型別,value可以使任何型別

B、key可以是任何型別,value可以是任何型別

C、key可以是任何型別,value只能是int或string型別

D、key只能是int或string型別,value只能是int或string型別

 

 

二、多選題(共3題,每題5分)

1.假設當前螢屏分別率為1024×768,定義一個居中的占螢屏一半大小的表格的陳述句是

A、<TABLE ALIGN=”CENTER” WIDTH=”50%”></TABLE>

B、<TABLE ALIGN=”CENTER” WIDTH=”512″></TABLE>

C、<DIV ALIGN=”CENTER”><TABLE WIDTH=”512″></TABLE></DIV>

D、<CENTER><TABLE WIDTH=”50%”></TABLE></CENTER>

參考答案:A,B,C,D

答案決議:center標簽HTML5不推薦使用了...這種沒有語意的純樣式標簽是不符合w3c規范的,MDN上也有相關說明,

 

2.下列正則運算式不能匹配”www.innotechx.com”的是:

下列正則運算式不能匹配”www.innotechx.com”的是:

A、^w+.w+.w+$

B、[w]{0,3}.[a-z]*.[a-z]+

C、^w.*com$

D、[w]{3}.[a-z]{11}.[a-z]

 

 

3為什么大型網站要使用訊息佇列?

A、解耦

B、異步

C、削峰

D、大資料處理

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/137129.html

標籤:PHP

上一篇:Windows下Apache與PHP的安裝與配置

下一篇:PHP面試題2019年滴滴出行工程師面試題及答案決議

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more