近期面試總結(PHP后端開發工程師)(部分筆試題)


1.字符串"0"在PHP和js中轉換為布爾值是false還是true

  php:false;  php 弱語言 '0'和0一樣;

  js:true;字符串除了空字符串('')其他都是true(包括' ' 這種中間有空格的);
2.   echoprint_rprint,var_dump 區別

        echo:語句結構;

        print:是函數,有返回值

        print_r:能打印數組,對象

        var_dump:能打印對象數組,並且帶數據類型

 

3.如何獲取客戶端的IP(要求取得一個int)和服務器端的IP的代碼

      

 $ip = $_SERVER["REMOTE_ADDR"];  或者:getenv('REMOTE_ADDR'); 

        轉化為int  $intIP =  ip2long($ip);

       $_SERVER["SERVER_ADDR"];

       gethostbyname('www.baidu.com');

 

4.  mysql聯合索引index_a_b_c(a,b,c) charset=utf8,a int(10),b varchar(10),c tinyint(1),問條件where a = 5 and c = 1用到的索引長度。

索引長度:4+1 = 5  (用到a,c)

where a=5 and b = "hahah"; 

索引長度:4+10*3+2 = 36 (用到a,b)

5.json和jsonp的區別,什么時候用。

jsonp 跨域請求

6.寫出點擊一個div出現相應的序號的js

7.session和cookie的區別和聯系

8.PHP實現遍歷出文件夾和他下面子文件的代碼

1.  <?php

2.           $dir = '/Users/zhaoning/Desktop/算法';

3.          

4.           function getAllFile($dir){

5.                   $allFileArr = array();

6.                   if (is_dir($dir)) {

7.                            $res = opendir($dir);

8.                            while ($row = readdir($res)) {

9.                                     if ($row == '.' || $row == '..') {

10.                                             continue;

11.                                    }

12.                                    if (is_file($dir.'/'.$row)) {

13.                                             $allFileArr[] = $row;

14.                                    }else if (is_dir($dir.'/'.$row)) {

15.                                             $allFileArr[$row] = getAllFile($dir.'/'.$row);

16.                                    }

17.                           }

18.                           closedir($res);

19.                  }

20.                  return $allFileArr;

21.          }

22.          var_dump(getAllFile($dir));

23. ?>

9.寫出匹配html標簽的而不匹配div span img的正則表達式

10.寫出下面正則表達式的含義

$  ^   [^]  ?    ?:   

11.PHP中this和self的區別

        this:對象

        self:類

12.如何防止SQL注入,XSS攻擊和CSRF攻擊

        SQL注入:mysqli_real_escape_string()轉義關鍵字符;

        XSS攻擊:alert把一些cookie信息打印出來;過濾掉<>等關鍵字符串

        CSRF攻擊:跨站攻擊。防止:token,驗證碼

13.Linux的命令:查找出文件名后綴是.txt的,內容包含delete的文件,並刪除

1.  find / -name "*.txt" | xargs -n1 -I(這是i) 'xxx' grep -l(這是L)  'delete' 'xxx' | xargs -n1 -I 'zzz' rm -f 'zzz'

14.PHP解決多進程讀寫一個文件的方法

1.  function putFile($file,$mode="w"){

2.           $file = fopen($file,$mode);

3.           if(flock($file,LOCK_EX)){

4.                   fwrite($file,'write a word');

5.                   flock($file,LOCK_UN);

6.           }else{

7.                   echo "無法訪問";

8.           }

9.           fclose($file);

10. }

15.數據庫表的引擎有哪幾種?區別和場景

        MyISAM:多用於select

        Innodb:事務

        memory:內存中,存儲快

        merge:用於日志和數據倉庫

        archive:用於日志,只有select和insert,不支持索引。

16.nginx和PHP的工作原理

17.ES連接PHP的擴展叫什么名字

        elasticsearch 

18.調用接口需要什么,簽名怎么生成的,登陸接口的實現

        簽名:(  token + 時間戳  )  加密  =  sign  

19.接口返回包含哪幾部分。

1.  {

2.      code:

3.      msg:

4.      data:{}

5.  }

1.不知道什么的英文

2.PHP錯誤種類.

3.var_dump(0123==123);var_dump('0123'==123);  false true

4.36個人,6個賽道,沒有秒表,比賽多少次能夠得出前三名?

5.正方形四個角有四個蟲子,蟲子沿邊走,問:蟲子相遇(兩個碰頭)的概率是多少?

6.A去買水果3.5斤共14元,給老板B  20 元 ,B沒零錢,找隔壁C換20元,回來后找A  6元,C發現這個錢是假的,找B,B又給C 20 元。問:B一共虧了多少錢。

7.快排

8.同一個ip,10分鍾能只能訪問5次

9.設計微博粉絲互粉,用戶1億。

問答:

http協議包含幾部分。

接口是怎么實現的。

token 是怎么生成的。

你知道哪些加密。

如何防止http包的數據篡改。比如說轉賬10塊,http包被劫,改成100塊了。

 

針對有項目經驗的面試梳理:

1.自我介紹。

在哪工作,多長時間。做了什么東西,項目背景,用到的技術,負責什么工作。

 

答案:之前在滴滴打車工作,工作半年多。參加的項目有谷雨移動和司機幫。谷雨移動是(移動端)為汽車租賃公司提供管理旗下快車的軟件。主要用的PHP+redis+ES。我主要負責服務分和各項報表的查詢和匯總。司機幫主要是面向快車司機的,司機能夠查看自己的流水和服務分,服務時長等各項數據。我主要負責服務分的排名。

問:redis起什么作用?

減少訪問es的次數

懶加載(訪問redis沒有數據,然后去查ES,把結果導入數據redis里面)有什么弊端?

數據不同步的問題。

怎么解決數據不同步?

1.把懶加載換成定時跑數據。

2.從ES里面讀取近期是否有數據變化,如果有從新讀取ES。沒有的話在還用原來的redis里面的數據。

2.apache和nginx的區別

工作模式:

apache 有兩種模式perfork,worker模式

perfork:

worker:

nginx的epoll和select:

epoll:模式單線程異步非阻塞。

select:選擇性的

 

3.Innodb和My ISAM的區別

MyISAM:

支持全文索引,

不支持事務。

存儲結構:三個文件,一個數據文件,一個索引文件,一個表文件。

表級別的鎖。

Innodb:

不支持全文索引,

支持事務。

存儲結構:所有表同一個文件。

行級別的鎖。

4.hash索引和b+tree索引的區別


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM