高薪直通車丨人工智能+Python面試經驗分享(西安**思數據)

高薪直通車丨人工智能+Python面試經驗分享(西安**思數據)

面試環節:

Q:OOP編程三大特點是什麼,多態應用的基礎是什麼?

A:封裝就是將一個類的使用和實現分開,只保留部分接口和方法與外部聯繫。繼承是子類自動繼承其父級類中的屬性和方法,並可以添加新的屬性和方法或者對部分屬性和方 法進行重寫。繼承增加了代碼的可重用性。多態是多個子類中雖然都具有同一個方法,但是這些子類實例化的對象調用這些相同的方法後卻 可以獲得完全不同的結果,多態性增強了軟件的靈活性。(多態的概念依賴於繼承)

Q:請解釋下TCP/IP協議和HTTP協議?

A:HTTP協議:HTTP協議即超文本傳輸協議(Hypertext Transfer Protocol ),是Web聯網的基礎,也是手機聯網常用的協議之一,HTTP協議是建立在TCP協議之上的一種應用。HTTP連接最顯著的特點是客戶端發送的每次請求都需要服務器回送響應,在請求結束後,會主動釋放連接。從建立連接到關 閉連接的過程稱爲“一次連接”。

TCP/IP協議:TCP/IP(Transmission Control Protocol/Internet Protocol)協議是傳輸層協議,主要解決數據如何在網絡中傳輸。HTTP是應用層協議,主要解決如何包裝數據。IP 協議對應於網絡層。

Q:簡單說說賦值、淺拷貝和深拷貝的區別

A:賦值,就是創建了對象的一個新的引用,修改其中任意一個變量都會影響到另一個。

對於可變類型的數據:

淺拷貝會把對象複製一份,但該對象中引用的其他對象不復制(而是把引用傳遞過去)

深拷貝會把對象複製一份,並且該對象中引用的其他對象也複製一遍

對於不可變類型數據:

python爲了節省內存,不論是深拷貝還是淺拷貝都不會複製,而是把引用直接傳遞過去

但對於在不可變類型中有可變類型的情況:

如(123,456,[]),此時該元組對象實際上是“可變的”,因此可以把它當做一個“可變類型的數據”來對待

Q:說說session和cookie的聯繫和區別

A:聯繫:Session 對 Cookie 的依賴:Cookie 採用客戶端存儲,Session 採用的服務端存儲的機制。Se ssion 是針對每個用戶(瀏覽器端)的,Session 值保存在服務器上,通過 SessionId 來區分哪個用 戶的 Session。因此 SessionId 需要被綁定在瀏覽器端。SessionId 通常會默認通過 Cookie 在瀏覽 器端綁定。

區別:Cookie 數據存放在客戶的瀏覽器上,session 數據放在服務器上。Cookie 不是很安全,別人可以分析存放在本地的 cookie 並進行 cookie 欺騙,考慮到安全應 當使用 Session。Session 會在一定時間內保存在服務器上。當訪問增多,會比較佔用你服務器的性能,考慮到 減輕服務器性能方面,應當使用 Cookie。單個 Cookie 保存的數據不能超過 4K,很多瀏覽器都限制一個站點最多保存 20 個 Cookie。 5、可以考慮將登陸信息等重要信息存放爲 Session,其他信息如果需要保留,可以放在 Cookie 中。

Q:ajax請求頁面如何加載?

A:ajax 可以實現局部刷新,也叫做無刷新,無刷新指的是整個頁面不刷新,只是局部刷新,ajax 可以 自己發送 http 請求,不用通過瀏覽器的地址欄,所以頁面整體不會刷新,ajax 獲取到後臺數據,更新 頁面顯示數據的部分,就做到了頁面局部刷新。

Q:Python裏面range和xrange的區別

A:xrange 和 range 的參數和用法是相同的。只是 xrange()返回的不再是一個數列,而是一個 xrange 對象。這個對象可以按需生成參數指定範圍內的數字(即元素)。由於 xrange 對象是按需生成單個的 元素,而不像 range 那樣,首先創建整個 list。所以,在相同的範圍內,xrange 佔用的內存空間將更 小,xrange 也會更快。實際上,xrange 由於是在循環內被調用時纔會生成元素,因此無論循環多少次, 只有當前一個元素佔用了內存空間,且每次循環佔用的都是相同的單個元素空間。但是python3裏面已經沒有xrange了。

Q:什麼是 lambda 函數? 有什麼好處?

A:lambda函數是一個可以接收任意多個參數(包括可選參數)並且返回單個表達式值的函數,lambda函數比較輕便,即用即仍,很適合需要完成一項功能,但是此功能只在此一處使用,連名字都很隨意的情況下;匿名函數,一般用來給filter,map這樣的函數式編程服務;作爲回調函數,傳遞給某些應用,比如消息處理。

相关文章