1. 程式人生 > >面試題小結

面試題小結

實現 post請求 兩個 str 服務器 存在 在服務器 機器 代碼

#脈脈

一面

  1. 冒泡算法
  2. 數據庫 左鏈接,on條件,跟where條件的結果比對
  3. 寫sql,對索引認知
  4. 用登陸過程說下緩存機制,
  5. 內存溢出的原因
  6. 進程跟線程的區別
  7. 看代碼報錯,定位問題

二面

  1. 闡述下項目用到的技術:

比如redis,kafka,docker,bizflow

  1. 並發任務多嗎(不是並發項目),查看個人工作效率
  2. 額,寫個nodejs文件查詢查看功能
  3. http跟https區別
  4. selenium了解多少
  5. 測試中常用工具
  6. 項目中印象較深的bug
  7. 測試流程
  8. 項目推進,場景演示

#美團

#作業幫

1. 代碼能力

代碼實現文件上傳

代碼實現讀文件中某域名平均響應時間

代碼實現兩個有序列表的中間位置查詢

2. linux命令

讀日誌文件中10萬行記錄,查詢某字符串 重復出現次數最多的前三

3. sql

清空表數據的命令

in是不是走索引

表結構設計

4. 描述類

印象比較深的項目,Bug

#貝殼

  1. http請求全過程
  2. 冒泡算法
  3. Post發送的明文密碼安全嗎?http跟https的關系
  4. 數據庫索引的作用
  5. like是否走索引
  6. 代碼實現:傳參數的裝飾器
  7. 代碼實現:2個已經排序的列表,合並成一個列表並排序
  8. 描述一下最近一個線上故障,並說一下原因,從中你學到了什麽?
    1. get和Post請求的區別
      1)get參數通過url傳遞,post放在request body中

#知乎

  1. 數據庫索引的作用
  2. like是否走索引
  3. 代碼實現:傳參數的裝飾器
  4. 代碼實現:2個已經排序的列表,合並成一個列表並排序
  5. 描述一下最近一個線上故障,並說一下原因,從中你學到了什麽?

#易企秀

  1. get和Post請求的區別
    1)get參數通過url傳遞,post放在request body中

2)get請求在url中傳遞的參數是有長度限制的,而post沒有。

3)get比post更不安全,因為參數直接暴露在url中,所以不能用來傳遞敏感信息。

get請求只能進行url編碼,而post支持多種編碼方式

get請求會瀏覽器主動cache,而post支持多種編碼方式。

get請求參數會被完整保留在瀏覽歷史記錄裏,而post中的參數不會被保留。

GET和POST本質上就是TCP鏈接,並無差別。但是由於HTTP的規定和瀏覽器/服務器的限制,導致他們在應用過程中體現出一些不同。

GET產生一個TCP數據包;POST產生兩個TCP數據包。

  1. session和cookies的區別

a) cookie數據存放在客戶的瀏覽器上,session數據放在服務器上。

b) cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,考慮到安全應當使用session。

c) session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能,考慮到減輕服務器性能方面,應當使用cookie。

d) 單個cookie保存的數據不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie。

e) 可以考慮將登陸信息等重要信息存放為session,其他信息如果需要保留,可以放在cookie中。怎麽在post請求中加如cookies

  1. 代碼實現;打印字典的鍵和值

stu_info={
‘name‘:"cll",
‘age‘:18,
‘tel‘:15910626960,
}
j=1
for i in stu_info:
print(j,i,stu_info[i])
j+=1

  1. linux命:令查詢某個端口是什麽進程占用? 拷貝文件從一臺機器拷貝到另一臺機器? 文件改名字,比如a.txt 改成b.txt
    從一臺機器拷貝文件到另一臺機器:scp 源文件 用戶名@IP: 目的文件
    文件改名字:mv a.txt b.txt
    查詢8080端口是否被占用:netstat -anp|grep 8080
  2. 如果項目中,發現不能在上線前完成測試,可能要延期,怎麽跟產品溝通.

#瓜子網

  1. 數據庫索引原理,2)聯調查詢SQL
  2. 常用linux命令:
    1)vi刪除一行:dd,

在最後一行追加Go或者GA ,當前行追加A,

跳到首行gg,最後一行G

替換字符串:

單個替換: r

長串替換:%s/pattern/string/g 替換所有行的pattern為string
2)怎麽查看內存占用信息,該命令顯示那些信息? 根據占用內存排序顯示
top:顯示進程號,用戶,占用的cpu,內存,
3)查看tomocat服務進程號,

ps -ef |grep tomcat | awk‘{print $2}

4) 關閉所有resin進程
ps -ef | grep resin | awk‘{print $2}‘ | sudo xargs kill -9

5) 查看端口號被那個進程占用

netstat -ntlp | grep 8080

  1. 代碼實現,冒泡排序
  2. 思路,四則運算表達式實現思路
  3. 遞歸
  4. 四則運算表達式,設計測試用例
  5. 裝飾器,叠代器
  6. python中的數據結構

面試題小結