分享一套 python 试题
賴勇浩(http://laiyonghao.com)
今天在 simple-is-better.com 看到一篇《Python 面試題集合》(http://simple-is-better.com/news/596)(同時附在了此文下方),里面有一些很好的試題,如“Python是如何進行類型轉換的?”,也有一些讓人吐血的試題,如“Python如何實現單例模式?其他23種設計模式python如何實現?”。在引我思考的同時,也讓我產生把自己之前招聘所用的 Python 試題跟大家分享、討論的想法,隨意整理了一下,試題如下,請多指教。
==============
一、文化
----
1,聽過 the zen of python 嗎?盡可能地默寫它,中英文皆可,大意也可。如果沒有聽過,談談你對 pythonic 的看法,或者你認為什么樣的 python 代碼才是好代碼。
二、數據結構與算法
---------
2,現在有一個 dict 對象 adict,里面包含了一百萬個元素,查找其中的某個元素的平均需要多少次比較?一千萬個元素呢?
3,現在有一個 list 對象 alist,里面的所有元素都是字符串,編寫一個函數對它實現一個大小寫無關的排序。
4,python 里關于“堆”這種數據結構的模塊是哪個?“堆”有什么優點和缺點?舉一個游戲開發中可能會用到堆的問題(不限是于 python 的堆,可以是其它語言的相關實現)。
5,set 是在哪個版本成為 build-in types 的?舉一個你在以往項目中用到這種數據結構的問題(不限是于 python 的 set ,可以是其它語言的相關實現),并說明為什么當時選擇了 set 這種數據結構。
6,有一個排好序地 list 對象 alist,查找其中是否有某元素 a(盡可能地使用標準庫函數)。
三、庫應用
-----
7,說說 dict 的 items() 方法與 iteritems() 方法的不同。
8,寫一段程序逐行讀入一個文本文件,并在屏幕上打印出來。
9,默寫盡可能多的 str 對象的方法。
10,打亂一個排好序的 list 對象 alist。
11,有二維的 list 對象(即它的每一個元素都是一個 list 對象)alist,假定其中的所有元素都具有相同的長度(把 alist 想象成一個表格),寫一段程序根據元素的第二個元素排序(即對表格的第二列字段排序)。
四、設計
----
12,實現一個 stack。
13,編寫一個簡單的 ini 文件解釋器。
14,現有 N 個純文本格式的英文文件,實現一種檢索方案,即做一個小搜索引擎。
附:
Python 面試題集合
? Python是如何進行內存管理的?
什么是lambda函數?它有什么好處?
how do I iterate over a sequence in reverse order
Python是如何進行類型轉換的?
Python里面如何實現tuple和list的轉換?
請寫出一段Python代碼實現刪除一個list里面的重復元素
Python如何實現單例模式?其他23種設計模式python如何實現?
Python里面如何拷貝一個對象?
介紹一下except的用法和作用?
Python中pass語句的作用是什么?
介紹一下Python下range()函數的用法?
如何用Python來進行查詢和替換一個文本字符串?
Python里面search()和match()的區別?
用Python匹配HTML tag的時候,<.*>和<.*?>有什么區別?
Python里面如何生成隨機數?
如何用Python來發送郵件?
有兩個序列a,b,大小都為n,序列元素的值任意整形數,無序;
要求:通過交換a,b中的元素,使[序列a元素的和]與[序列b元素的和]之間的差最小。
1. 將兩序列合并為一個序列,并排序,為序列Source
2. 拿出最大元素Big,次大的元素Small
3. 在余下的序列S[:-2]進行平分,得到序列max,min
4. 將Small加到max序列,將Big加大min序列,重新計算新序列和,和大的為max,小的為min。
Python如何定義一個函數?
有沒有一個工具可以幫助查找python的bug和進行靜態的代碼分析?
如何在一個function里面設置一個全局的變量??
總結
以上是生活随笔為你收集整理的分享一套 python 试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python的冷技巧小技巧
- 下一篇: 计算图像相似度——《Python也可以》