• 25週年慶
  • 今日66折
  • 天天BUY

Python面試題目與解答:邁向高薪之路

  • 定價:690
  • 優惠價:79545
  • 優惠期限:2020年08月31日止
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...

優惠組合

 

內容簡介

  展開程式設計師的就業廣告,幾乎都是以Python語言為主流,這本書則是收集國內外各大主流公司的熱門考試主題,Leetcode考題以及筆者認為學習Python應該了解的主流觀念,全部以極詳細、超清楚的程式實例解說,期待讀者可以錄取全球著名企業獲得高薪。
 
  Python工程師面試第一個主題當然是測試面試者對於Python語言的瞭解與熟悉程度,內行的面試主管可以經由面試者對於下列Python重點與特色的理解程度,可以很輕易了解面試者Python功力如何?是不是具備真正Python工程師的資格?
 
  ●認識Python特色
  ●跳脫Java、C/C++邏輯,從Python觀念設計程式
  ●串列(元組)切片(slicing)、打包(packing)、解包(unpacking)
  ●認識何謂可迭代物件(iterator object)
  ●認識生成式(generator)
  ●認識字典、集合操作
  ●類別與模組
  ●正則表達式   
 
  面試時間通常不會太長,面試的另一個重點是考演算法,一個看似簡單的題目描述往往暗藏豐富的演算法知識,這時就是訓練讀者的邏輯與思考的能力,在這本書筆者也使用了極豐富與廣泛的演算法題目,詳細說明解題過程,至少在面試時讀者碰上類似考題可以輕鬆面對,在極短的面試時間完成解題,本書的演算法考題包含下列內容:
 
  ●排序與搜尋
  ●字串
  ●陣列
  ●鏈結串列
  ●二元樹
  ●堆疊與回溯
  ●數學問題
  ●深度、廣度優先搜尋
  ●最短路徑演算法
  ●貪婪演算法
  ●動態規劃演算法    

  整本書除了內容豐富,適合Python面試工程師外,也可以增強讀者Python功力。
 
本書特色
 
  這是國內第一本針對Python工程師考試的圖書。
 

作者介紹

作者簡介
 
洪錦魁
  
  一位誇越電腦作業系統與科技時代的電腦專家,著作等身的作家。
  ■ DOS 時代他的代表作品是 IBM PC 組合語言、C、C++、Pascal、資料結構。
  ■ Windows 時代他的代表作品是 Windows Programming 使用 C、Visual Basic。 
  ■ Internet 時代他的代表作品是網頁設計使用 HTML。
  ■ 大數據時代他的代表作品是 R 語言邁向 Big Data 之路。
 
  除了作品被翻譯為簡體中文、馬來西亞文外,2000 年作品更被翻譯為Mastering HTML 英文版行銷美國。
  近年來作品則是在北京清華大學和台灣深智同步發行: 
  1:Java 入門邁向高手之路王者歸來
  2:Python 最強入門邁向頂尖高手之路王者歸來
  3:Python 最強入門邁向數據科學之路王者歸來
  4:Python 網路爬蟲:大數據擷取、清洗、儲存與分析王者歸來
  5:演算法最強彩色圖鑑 + Python 程式實作王者歸來
  6:HTML5 + CSS3 王者歸來
  7:R 語言邁向Big Data 之路
  8:Excel 完整學習邁向最強職場應用王者歸來
 
  他在2020/2021 年許多著作分別登上天瓏、博客來、Momo 電腦書
 
  類暢銷排行榜第一名,他的著作最大的特色是不賣弄文字與炫耀知識,所有程式語法會依特性分類,同時以實用的程式範例做解說,讓複雜的知識變的淺顯易懂,讀者可以由他的著作事半功倍輕鬆掌握相關知識。
 

目錄

第一篇 Python 語言面試題
第一章 面試通用問題
1-1 一份好的簡歷取得面試的機會 
1-2 認識面試的公司 
1-3 自我介紹
1-4 Python 工程師面試面臨的3大類問題 
1-5 常見的面試通用問題 
1-6 回問公司問題 
1-7 Python 程式語言的國際認證
 
第二章 Python 語法觀念面試題
問答2-1:Python 是什麼?或是直接用英文問What is Python
問答2-2:Pythonista 是什麼
問答2-3:請簡述Python 優點
問答2-4:請簡述Python 的特色
問答2-5:PEP 8 是什麼
問答2-6:Pythonic 是什麼
問答2-7:請簡述靜態語言(static language) 和動態語言(dynamic language)
問答2-8:何謂文字碼語言(Scripting language)? Python 是不是屬於文字碼語言
問答2-9:請說明PYTHONPATH 環境變數功能
問答2-10:請說明PYTHONSTARTUP 環境變數功能
問答2-11:請說明PYTHONCASEOK 環境變數功能
問答2-12:請說明PYTHONHOME 環境變數功能
問答2-13:請說明.py 和.pyc 檔案的差異
問答2-14:在Python 的程式設計中,有哪些工具可以協助找尋錯誤(bug)
問答2-15:Python 如何管理記憶體空間
問答2-16:變數名稱有前單底線,例如:_test,請說明適用時機 
問答2-17:變數名稱有後單底線,例如:dict_,請說明適用時機 
問答2-18:變數名稱前後有雙底線,例如:__test__,請說明適用時機 
問答2-19:變數名稱有前雙底線,例如:__test,請說明適用時機 
問答2-20:在IDLE 環境使用Python 時,單底線有何特別意義 
問答2-21:請說明"//" 的用法 
問答2-22:請說明Python 的註解使用方式 
問答2-23:簡述串列(list) 與元組(tuple) 的區別 
問答2-24:Python 提供哪些內建可變(mutable)和不可變(immutable)的資料結構 
問答2-25:Python 提供哪些數值(number) 的資料 
問答2-26:請列出Python 內建的容器資料型態 
問答2-27:請列出Python 序列(sequence) 的資料類型 
問答2-28:請列出Python 映射(mapping) 資料類型 
問答2-29:Python 的名稱空間(namespace) 是指什麼 
問答2-30:請說明如何獲得變數的位址。2-12
問答2-31:Python 是否會對大小寫敏感? 2-12
問答2-32:Python 的數據型態轉換是什麼?請列出所有的數據型態轉換函數
問答2-33:有一個數學運算的字串'5*9+4',應如何轉換成計算結果並列印
問答2-34:請說明Python 的help( ) 和dir( )
問答2-35:列出整數的方法 
問答2-36:列出串列的方法 
問答2-37:請說明int('5.5') 和int(5.5) 的執行結果 
問答2-38:使用1 行指令,執行x, y 值對調 
問答2-39:有一個字串s = 'abc is abc',請使用一行指令將字串s 改為'xyz is xyz' 
問答2-40:請說明何謂逸出字元(Escape Character) 
問答2-41:請說明字串前面加上r 與b 的功能 
問答2-42:請說明編碼(encode) 與解碼(decode) 
問答2-43:請說明find( ) 和rfind( ) 的差異 
問答2-44:請說明index( ) 和rindex( ) 的差異
問答2-45:請說明迴圈的continue 和break 運作方式 
問答2-46:有2 個數字x、y,不可以使用max( )函數,請使用1行指令,可以得到最大值 
問答2-47:請說明串列(list) 正索引與負索引的用法 
問答2-48:什麼是切片(slicing)  
問答2-49:切片的應用 
問答2-50:請說明串列(list) 中append( ) 和extend( ) 方法的區別 
問答2-51:請說明淺拷貝copy( ) 和深度拷貝deepcopy( ) 應用在不可變資料 
問答2-52:請說明淺拷貝copy( ) 和深度拷貝deepcopy( ) 應用在可變資料 
問答2-53:如何設定字串的第1 個字母是大寫 
問答2-54:如何將字串全部改成小寫 
問答2-55:請問應該如何去掉字串頭尾空格 
問答2-56:請說明split( ) 方法 
問答2-57:請說明is 的用法 
問答2-58:回答片段指令的輸出結果 
問答2-59:請說明not 的用法 
問答2-60:請說明in 的用法 
問答2-61:什麼是串列打包(packing)  
問答2-62:什麼是元組( 或串列) 解包(tuple unpacking)  
問答2-63:什麼是可迭代物件iterators 或稱iterable object 
問答2-64:請說明divmod(x, y) 的用法,他的傳回值資料型態為何 
問答2-65:請問A 字典如何將B 字典元素合併到A 字典內 
問答2-66:如何合併和刪除字典 
問答2-67 請列出所有被列為邏輯值False 的情況 
問答2-68:請說明any( ) 和all( ) 的區別   
問答2-69:Python 的pass 是什麼 
問答2-70:什麼是pickling 和unpickling 
問答2-71:請簡述redis 和mysql 的差異 
問答2-72:請說明AttributeError、⋯ 、ZeroDivisionError 的錯誤原因 
面試實例ch2_1.py:逸出字元的應用 
程式實例ch2_2.py:字串前加上r 的應用 
面試實例ch2_3.py:unicode 字串與utf-8 格式bytes 資料的轉換 
面試實例ch2_4.py:瞭解字串的資料型態與內容 
面試實例ch2_5.py:find( ) 和rfind( ) 的說明 
面試實例ch2_6.py:列出段落內某一個字串出現的次數 
面試實例ch2_7.py:刪除字串內的空格方法1,使用replace( ) 
面試實例ch2_8.py:刪除字串內的空格方法2,使用split( ) 和join( ) 
面試實例ch2_9.py:請用說明陣列和串列的差異 
面試實例ch2_10.py:索引實例解說 
面試實例ch2_11.py:切片應用 
面試實例ch2_12.py:說明append( ) 的用法 
面試實例ch2_13.py:說明extend( ) 的用法 
程式實例ch2_14.py:賦值(=) 運算取代extend( ) 的應用 
程式實例ch2_15.py:淺拷貝、深拷貝與賦值(=) 記憶體位置的觀察 
面試實例ch2_16.py:將2 種不同類型的字串轉成串列 
面試實例ch2_17.py:請說明join( ) 方法 
面試實例ch2_18.py:請說明sort( ) 和sorted( ) 方法的區別 
面試實例ch2_19.py:串列打包,然後列印結果 
面試實例ch2_20.py:enumerate( ) 打包的應用 
面試實例ch2_21.py:使用zip( ) 將串列打包,然後使用for ⋯ in 解包 
面試實例ch2_22.py:使用enumerate 將串列打包,然後使用for ⋯ in 解包 
面試實例ch2_23.py:請用文字說明zip( ) 的用法,同時用程式解說 
面試實例ch2_24.py:請用文字說明enumerate 物件,同時用程式解說 
面試實例ch2_25.py:什麼是生成器(generators),請同時舉例說明 
面試實例ch2_26.py:divmod( ) 的應用 
面試實例ch2_27.py:取得此字典的鍵(key) 
面試實例ch2_28.py:取得此字典的值(value) 
面試實例ch2_29.py:取得此字典的鍵: 值(key:value) 的元組 
面試實例ch2_30.py:將fruits2 字典元素整合到fruits1 字典內 
程式實例ch2_31.py:使用del 分別刪除字典元素與字典的應用 
面試實例ch2_32.py:刪除字典的元素 
面試實例ch2_33.py:用不同數據呼叫函數3 次 
面試實例ch2_34.py:串列轉成字典應用1 
面試實例ch2_35.py:串列轉成字典應用2 
面試實例ch2_36.py:元組轉成字典應用 
面試實例ch2_37.py:客戶資料的整理 
面試實例ch2_38.py:不使用集合的方法處理交集問題 
面試實例ch2_39.py:any( ) 方法的應用  
 
第三章 Python 函數、類別與模組
簡答3-1:使用Python 呼叫函數,在傳遞參數時,是傳值還是傳位址
簡答3-2:更改全域變數的內容 
簡答3-3:設計一個含有多個回傳值的函數時,請問這些回傳值的資料型態為何 
簡答3-4:請用一句話解釋什麼樣的程式語言可以使用裝飾器 
簡答3-5:Python 模組(module) 是什麼 
簡答3-6:Python 的__init__ 是什麼 
簡答3-7:Python 的類別內的關鍵字self 是什麼 
簡答3-8:請說明封裝(encapsulation) 
簡答3-9:請說明super( ) 
簡答3-10:請說明多型(polymorphism) 
簡答3-11:Java 不支持多重繼承,Python 可否支持多重繼承 
簡答3-12:請說明__iter__( ) 方法和__next__( )   
面試實例ch3_1.py:random 模組的shuffle( ) 函數的應用 
面試實例ch3_2.py:random 模組的sample( ) 函數的應用 
面試實例ch3_3.py:random 模組的randint( ) 函數的應用 
面試實例ch3_4.py:random 模組的choice( ) 函數的應用 
面試實例ch3_5.py:random 模組的seed( ) 函數的應用 
面試實例ch3_6.py:random 模組的random( ) 函數的應用 
面試實例ch3_7.py:產生5 筆0( 含) – 10.0( 不含),之間的隨機數浮點數 
面試實例ch3_8.py:Python 的docstring 是什麼?同時用程式說明 
面試實例ch3_9.py:全域變數(global variable) 與區域變數(local variable) 的說明 
面試實例ch3_10.py:lambda 是_____什麼?請同時用程式實例解說 
面試實例ch3_11.py:含2 個參數的匿名函數應用,可以傳回參數的積  
面試實例ch3_12.py:使用sorted 配合lambda 將串列從小到大排序 
面試實例ch3_13.py:使用sorted 配合lambda 將串列正值的元素從小到大排序,負值的元素從大到小 
面試實例ch3_14.py:字典資料的姓名由小到大排序,年齡由大到小排序 
面試實例ch3_15.py:元組資料的姓名由小到大排序,年齡由大到小排序 
面試實例ch3_16.py:串列資料的姓名由小到大排序,年齡由大到小排序 
面試實例ch3_17.py:將姓名由小到大排序,將年齡由小到大排序,當年齡相同時依照姓名由小到大排序 
面試實例ch3_18.py:將字典轉成串列,最後將串列轉為字典,使用zip( ) 
面試實例ch3_19.py:將字典轉成串列,最後將串列轉為字典,不使用zip( ) 
面試實例ch3_20.py:為字串['a', 'b', 'c'],隨機建立1-10 之間的值,成為字典 
面試實例ch3_21.py:在串列內依據字串長度為元素排序 
面試實例ch3_22.py:說明map( ) 函數的用法 
面試實例ch3_23.py:說明filter( ) 函數的用法 
面試實例ch3_24.py:說明reduce( ) 函數的用法 
面試實例ch3_25.py:何謂關鍵字參數?同時用程式解說 
面試實例ch3_26.py:請說明如何設計可以傳遞任意數量參數的函數 
面試實例ch3_27.py:請說明如何設計可以傳遞一般參數與任意數量參數的函數 
面試實例ch3_28.py:請說明*args 和**kwargs,同時舉程式實例說明 
面試實例ch3_29.py:請說明函數是否可以是一般函數的參數 
面試實例ch3_30.py:請說明嵌套(Nested function) 
面試實例ch3_31.py:請說明函數是否可以是一個回傳值,請舉程式例說明 
面試實例ch3_32.py:請說明何謂閉包(closure)? 請舉程式例說明 
面試實例ch3_33.py:閉包closure 的另一個應用 
面試實例ch3_34.py:請說明yield、next( ) 和send( ) 的用法?請舉程式例說明 
面試實例ch3_35.py:重新設計ch3_34.py,增加使用send( ) 函數呼叫 
面試實例ch3_36.py:設計自己的range( ) 函數,此函數名稱是myRange( ) 
面試實例ch3_37.py:請說明裝飾器(Decorator) 功能,請用實例解說 
面試實例ch3_38.py:裝飾器函數的基本操作 
面試實例ch3_39.py:請說明if __name__ == '__main__' 敘述的優點 
面試實例ch3_40.py:import new_makefood,然後觀察執行結果 
面試實例ch3_41.py: 如果有A、B、C 等3個變數要供 test1.py、test2.py 和 test3.py 使用,應該如何設計程式 
面試實例ch3_42.py:請說明__init__ 和__new__ 的區別,請用文字和實例解說 
面試實例ch3_43.py:請同時用文字和程式實例說明isinstance( ) 
面試實例ch3_44.py、ch3_45.py:請同時用文字和程式實例說明__str__( ) 方法 
面試實例ch3_46.py:請同時用文字和程式實例說明__repr__( ) 方法
面試實例ch3_47.py:Fibonacci 數列實作
面試實例ch3_48.py:在不可以使用sort( ) 方法下,請設計執行將串列排序
 
第四章 檔案管理
簡答4-1:請說明檔案相關模組的功能,同時列舉3 個檔案管理的模組
簡答4-2:在檔案操作時請說明with 的用法,同時說明with 的語法
簡答4-3:請說明Python 的開啟文件處理模式(mode)
簡答4-4:說明如何刪除目前工作夾的檔案
簡答4-5:請說明什麼是檔案的相對路徑?絕對路徑
簡答4-6:請說明glob 模組的哪個方法可以列出特定工作目錄內容
簡答4-7:請說明os 模組的哪個方法可以遍歷整個目錄以及此目錄底下的子目錄
簡答4-8:在目錄管理規則中,'.' 和'..',各代表的意義為何
簡答4-9:是否有模組可以在檔案刪除後執行復原
簡答4-10:請說明logging 的等級
面試實例ch4_1.py:刪除檔案data1.txt,未來可以在資源回收筒找到此檔案
面試實例ch4_2.py:執行壓縮或是解壓縮文件或資料夾
面試實例ch4_3.py:將前一個實例所建的zip 檔案解析
面試實例ch4_4.py:解壓縮先前程式實例所建的壓縮檔案outin.zip 
面試實例ch4_5.py:請說明如何遍歷目錄與其子目錄
面試實例ch4_6.py:請說明try ⋯ except 的用法
面試實例ch4_7.py:請說明FileNotFoundError,請同時使用程式實例解說
面試實例ch4_8.py:請說明如何使用一個except 捕捉多個異常
面試實例ch4_9.py:請說明處理異常時,使用Python 內建的異常錯誤訊息1
面試實例ch4_10.py:請說明如何捕捉所有異常,請同時使用程式實例解說
面試實例ch4_11.py:請說明如何使用raise Exception,請同時使用程式實例解說
面試實例ch4_12.py:保存異常的錯誤訊息,請同時使用程式實例解說
面試實例ch4_13.py:請說明assert 的功能,請同時使用程式實例解說
 
第五章 正則表達式
簡答5-1:請說明正則表達式的模組 
簡答5-2:請先說明正則表達式,可以在串列內找尋符合下列格式的電話號碼 
簡答5-3:簡化方式處理正則表達式 
簡答5-4:有一個正則表達式使用括號分組,以及簡化 
簡答5-5:在正則表達式中'\d',如果使用管道觀念|,應如何表達 
簡答5-6:在正則表達式中,請說明\d、\D、\s、\S、\w、\W 字元的用法 
面試實例ch5_1.py:使用正則表達式將電話號碼從一段文字抽離出來 
面試實例ch5_2.py:正則表達式使用re.search( ) 時,請說明group( ) 方法 
面試實例ch5_3.py:在re 模組中,請說明groups( ) 的功能 
面試實例ch5_4.py:請參考面試實例ch5_3.py,將字串內的電話號碼資料取出 
面試實例ch5_5.py:搜尋字串中的2 個不同的字串 
面試實例ch5_6.py:正則表達式觀念搜尋Johnson、Johnnason、Johnnathan 
面試實例ch5_7.py: 正則表達式觀念搜尋John、Johnson、Johnnason、Johnnathan 
面試實例ch5_8.py:正則表達式觀念搜尋Johnson、Johnnason 
面試實例ch5_9.py:正則表達式觀念搜尋Johnson、Johnnason、Johnnanason 
面試實例ch5_10.py:正則表達式觀念搜尋Johnnason、Johnnanason 
面試實例ch5_11.py:請說明Python 搜尋時{ } 的用法 
面試實例ch5_12.py:請說明Python 的re 模組搜尋模式是貪婪或非貪婪模式 
面試實例ch5_13.py:Python 的re 模組預設是貪婪模式,改為非貪婪模式 
面試實例ch5_14.py:單字分離程式 
面試實例ch5_15.py:正則表達式的應用,將下列標題項目從句子中分離 
面試實例ch5_16.py:在正則表達式中,請說明中括號[ ] 的用途 
面試實例ch5_17.py:在正則表達式中,請說明在中括號[ ] 內增加^ 字元的用途 
面試實例ch5_18.py:在正則表達式中,請說明^ 放在字串前面的意義 
面試實例ch5_19.py:在正則表達式中,請說明$ 字元的意義 
面試實例ch5_20.py:在正則表達式中,請說明萬用字元'.' 的功能 
面試實例ch5_21.py:在正則表達式中,請說明萬用字元'.*' 的功能 
面試實例ch5_22.py:在正則表達式中,請說明sub( ) 和subn( ) 的用法 
面試實例ch5_23.py:這是字串取代的應用 
面試實例ch5_24.py:在正則表示法中,請說明如何使用*** 代替原本的姓名 
面試實例ch5_25.py:請設計可以判別電子郵件地址的正則表達式 
面試實例ch5_26.py:找出@ 前面是3-15 個字元,結尾是'@me.com' 的電子郵件地址 
面試實例ch5_27.py:根據冒號:或是空格切割字串 
面試實例ch5_28.py:列出不是台灣手機號碼 
面試實例ch5_29.py:unicode 基本漢字的應用 
面試實例ch5_30.py:設計可以篩選匹配

xxxx

的應用  
 
第六章 Python 語言綜合應用
面試實例ch6_1.py:用一行程式碼計算1 – 100 的和 
面試實例ch6_2.py:使用者輸入3 位數數字,最後捨去個位數字輸出 
面試實例ch6_3.py:高斯數學之等差數列運算 
面試實例ch6_4.py:請刪除重複部分且重新排列大小和輸出 
面試實例ch6_5.py:使用一個迴圈產生下列星形圖案,星形高度由螢幕輸入 
面試實例ch6_6.py:輸入直角三角形高度,使用單層迴圈繪製直角三角形 
面試實例ch6_7.py:使用單層迴圈繪製倒直角三角形 
面試實例ch6_8.py:輸入大於或等於100,則輸出100,否則輸出所輸入的數值 
面試實例ch6_9.py:請使用萊布尼茲公式計算圓週率 
面試實例ch6_10.py:使用蒙地卡羅模擬計算圓週率 
面試實例ch6_11.py:使用尼拉卡莎級數計算圓周率 
面試實例ch6_12.py:請輸入任意3 個點的座標,計算此座標的三角形的面積 
面試實例ch6_13.py:猜測一個人的生日日期 
面試實例ch6_14.py:請輸入西元年19xx 或20xx,然後輸出相對應的生肖年 
面試實例ch6_15.py:請列出FBI 出現的次數和將FBI 字串用XX 取代 
面試實例ch6_16.py:輸入一個字串,這個程式可以判斷這是否是網址字串 
面試實例ch6_17.py:螢幕輸入字串,程式可以列出這個字串在兒歌出現次數 
面試實例ch6_18.py:將串列內的系列圖檔分類 
面試實例ch6_19.py:列出所有身高是200( 含) 公分以上的球員資料 
面試實例ch6_20.py:編寫數字1-5 中,2 個數字的各種組合 
面試實例ch6_21.py:計算數學常數e 值 
面試實例ch6_22.py:用串列生成式產生串列[0, 1, 2, 3, 4, 5] 
面試實例ch6_23.py:建立一個整數平方的串列 
面試實例ch6_24.py:使用攝氏溫度串列celsius 生成華氏溫度串列fahrenheit 
面試實例ch6_25.py:生成0-19 間符合畢氏定理定義的a、b、c 串列值 
面試實例ch6_26.py:串列的應用 
面試實例ch6_27.py:用有條件式的串列生成程式,產生1-20 之間的偶數串列 
面試實例ch6_28.py:map( ) 的應用 
面試實例ch6_29.py:請將[1, 8, 22, 33] 和[3, 3, 9, 15] 合併,再排序輸出 
面試實例ch6_30.py:串列展開 
面試實例ch6_31.py:列出x.join(y) 和x.join[z] 的結果 
面試實例ch6_32.py:在成績單填入總分、平均和名次,最後列出完整成績單 
面試實例ch6_33.py:請輸入一個數字N,本程式可以計算前N 個質數 
面試實例ch6_34.py:請使用zip( ) 將這2 個元組打包,然後轉成串列列印出來 
面試實例ch6_35.py:請列出過去一週的最高溫、最低溫和平均溫度 
面試實例ch6_36.py:使用串列生成式方式產生單字次數字典 
面試實例ch6_37.py:使用字典生成式記錄任意單字,每個字母出現的次數 
面試實例ch6_38.py:使用collections 的Counter 記錄字母出現的次數 
面試實例ch6_39.py:字典依據鍵(key) 排序,輸出鍵值 
面試實例ch6_40.py:字典依據值(value) 排序 
面試實例ch6_41.py:請將文章處理成沒有標點符號和沒有重複字串的字串串列
面試實例ch6_42.py:求2 個串列的交集,聯集,差集與對稱差集 
面試實例ch6_43.py:雞尾酒程式 
面試實例ch6_44 .py:歐幾里德演算法 
面試實例ch6_45 .py:使用遞迴式函數與輾轉相除法觀念,求最大公約數 
面試實例ch6_46 .py:增加設計lcd( ) 最小公倍數函數 
面試實例ch6_47.py:Fibonacci 數列 
面試實例ch6_48.py:請計算子女單眼皮機率和雙眼皮機率 
面試實例ch6_49.py:賭場遊戲騙局 
面試實例ch6_50.py:設計增加除錯的檢查功能的裝飾器 
面試實例ch6_51.py:設計可以列出特定目錄內的檔案資訊 
面試實例ch6_52.py:計算國王的麥粒 
面試實例ch6_53.py:請用正則表達式篩選文字 
面試實例ch6_54.py:在發生DEBUG、INFO、WARNING 訊息時,增加時間戳
訊息 
面試實例ch6_55.py:請說明'.*' 和'.*?' 的區別 
面試實例ch6_56.py:使用一行正則表達式re.sub( ) 將96 和98 分數改為100 
 
第二篇 演算法面試題
第七章 排序與搜尋
面試實例ch7_1.py:說明與實作泡沫排序法(Bubble Sort) 
面試實例ch7_2.py:雞尾酒排序(Cocktail Sort) 
面試實例ch7_3.py:選擇排序(Selection Sort) 
面試實例ch7_4.py:插入排序(Insertion Sort) 
面試實例ch7_5.py:堆積樹排序(Heap Sort) 
面試實例ch7_6.py:快速排序(Quick Sort) 
面試實例ch7_7.py:合併排序(Merge Sort) 
面試實例ch7_8.py:程式語言熱門度排序實作 
面試實例ch7_9.py:旅館房價排序實作 
面試實例ch7_10.py:順序搜尋實作 
面試實例ch7_11.py:圖解二分搜尋法 
 
第八章 字串
面試實例ch8_1.py:在字串中找出第一個不重複的字元firstUniqChar( ) 
面試實例ch8_2.py:將字串轉成整數myAtoi( )  
面試實例ch8_3.py:設計正則表達式的匹配isMatch( )  
面試實例ch8_4.py:請設計函數isAnagram( ) 可以判斷有效字母的異位詞 
面試實例ch8_5.py:設計strStr( ) 找出substr 字串第一個出現位置的索引 
面試實例ch8_6.py:設計lengthOfLongestSubstring( ) 傳回無重複字元最長子字串
面試實例ch8_7.py:設計isPalindrome( ) 函數判斷一段句子的字串是不是回文
面試實例ch8_8.py:設計反轉字串reverse( ) 函數 
面試實例ch8_9.py:設計longestCommonPrefix( ) 函數找出最長的公共前綴詞 
面試實例ch8_10.py:設計一個函數romanToInt( ) 將羅馬數字轉成整數 
面試實例ch8_11.py:設計letterCombinations( ) 函數可以回應所有的字母組合 
面試實例ch8_12.py:設計countSegments( ) 函數可以計算一句英文有多少個文字
面試實例ch8_13.py:設計isSubsequence( ) 判斷子字串
 
第九章 陣列
面試實例ch9_1.py:計算陣列元素的2 數和twoSum( )
面試實例ch9_2.py:將重複元素刪除removeDuplicates( ) 
面試實例ch9_3.py:刪除陣列內特定值元素removeElement( ) 
面試實例ch9_4.py:在陣列內找出3 個加總為0 的元素threeSum( ) 
面試實例ch9_5.py:設計一維陣列旋轉rotate( ) 
面試實例ch9_6.py:設計二維影像旋轉rotate( ) 
面試實例ch9_7.py:找出陣列元素位置或插入位置searchInsert( ) 
面試實例ch9_8.py:找出陣列是否有重複元素containsDuplicate( ) 
面試實例ch9_9.py:找出沒有重複出現的元素singleNumber( ) 
面試實例ch9_10.py:將正整數陣列加1,onePlus( ) 
面試實例ch9_11.py:計算串列的交集intersection( )
面試實例ch9_12.py:計算串列的交集,允許交集有重複元素intersection( ) 
面試實例ch9_13.py:將陣列元素0 移至右邊moveZeroes( ) 
面試實例ch9_14.py:計算最大子字串的和maxSubArray( ) 
面試實例ch9_15.py:設計Pascal 三角形generate( ) 
面試實例ch9_16.py:請設計maxProfit( ) 執行單次買賣可計算股票買賣最佳獲利
面試實例ch9_17.py:請設計maxProfit( ) 執行多次買賣可計算股票買賣最佳獲利
面試實例ch9_18.py:盛水最多的容器maxArea( ) 
 
第十章 鏈結串列
面試實例ch10_1.py:以最直接方式建立鏈結串列1, 2, 3, 4, 5  
面試實例ch10_2.py:使用函數create_link_list( ) 建立鏈結串列 
面試實例ch10_3.py:將鏈結串列資料反轉reverseList( ) 
面試實例ch10_4.py:刪除鏈結串列的節點removeElements( )  
面試實例ch10_5.py:合併2 個排序好的鏈結串列mergeTwoLists( )  
面試實例ch10_6.py:刪除重複的鏈結串列元素deleteDuplicates( ) 
面試實例ch10_7.py:將二進位的鏈結串列改成整數getDecimalValue( )  
面試實例ch10_8.py:將10 進位的鏈結串列改成整數getDecimalValue( )  
面試實例ch10_9.py:了解鏈結串列內容是不是回文isPalindrome( )  
面試實例ch10_10.py:計算此2 個串列的和addTwoNumber( )  
 
第十一章 二元樹
面試實例ch11_1.py:依照串列順序建立二元樹同時使用中序(inorder) 列印 
面試實例ch11_2.py:設計insertList( ) 函數建立二元樹 
面試實例ch11_3.py:請計算二元樹的最大深度maxDepth( ) 
面試實例ch11_4.py:測試2 個二元樹是否內容相同isSameTree( )  
面試實例ch11_5.py:判斷二元樹是不是中心對稱或稱鏡像isSymmetric( )  
面試實例ch11_6.py:將已排序陣列轉成二元搜尋樹sortedToBST( )  
面試實例ch11_7.py:將未排序的陣列轉成二元搜尋樹arrayToBST( )  
面試實例ch11_8.py:驗證是不是二元搜尋樹isValidBST( )  
面試實例ch11_9.py:計算二元樹的最小深度minDepth( )  
面試實例ch11_10.py:求某二元樹的路徑數值和等於特定值hasPathSum( )  
面試實例ch11_11.py:計算所有左邊葉節點的總和sumOfLeaves( ) 
面試實例ch11_12.py:遍歷二元樹使用前序列印preorder( ) 
面試實例ch11_13.py:遍歷二元樹使用後序列印postorder( )  
程式實例ch11_14.py:從最頂端開始,依層次列印節點levelOrder( )  
 
第十二章 堆疊
面試實例ch12_1.py:判斷內含'('、')'、'['、']'、'{'、'}' 的字串是否合法isValid( )  
面試實例ch12_2.py:設計MinStack 類別,可以執行push、pop、top、getMin 
面試實例ch12_3.py:使用佇列(Queue) 完成堆疊的操作 
面試實例ch12_4.py:找出下一個最大值nextGreaterElement( )  
面試實例ch12_5.py:比較兩段字串內容是否相同backspaceCompare( )  
面試實例ch12_6.py:刪除相鄰且相同的字元removeDuplicates( )  
面試實例ch12_7.py:去除每一組最外層的括號( ) 符號removeOuterPatentheses( )  
面試實例ch12_8.py:棒球比賽得分總計calPoints( ) 
 
第十三章 數學問題
面試實例ch13_1.py:仿照Excel 欄位的英文字母,將數字轉英文convertToTitle( )  
面試實例ch13_2.py:給予32 位元正整數將數字反轉reverse( )  
面試實例ch13_3.py:設計isPalindrome() 判斷是不是回文阿拉伯數字
面試實例ch13_4.py:設計isHappy( ) 函數判斷數字是不是快樂數字(Happy Number) 
面試實例ch13_5.py:請設計isUgly( ) 函數判斷數字是不是醜陋數字(Ugly Number) 
面試實例ch13_6.py:設計isPowerOfThree( ) 判斷參數是不是3 的整數冪
面試實例ch13_7.py:設計missingNumber( ) 檢查陣列內的遺失數字
面試實例ch13_8.py:設計isPerfectSquare( ) 判斷數字是不是一個完全平方數
面試實例ch13_9.py:設計arrangeCoins( ) 函數判斷n 個硬幣可以放置多少層
面試實例ch13_10.py:設計judgeSquareSum( ) 判斷數值是不是2 個數字的平方和
面試實例ch13_11.py:設計checkPerfectNumber( ) 判斷數字是不是完美數字
面試實例ch13_12.py:計算串列內任意3 個數字的最大乘績maximumProduct( ) 
面試實例ch13_13.py:設計largestTriangleArea( ) 求點可以組成的最大面積
面試實例ch13_14.py:設計isRectangleOverlap( ) 函數判斷2 個矩形是否相交
面試實例ch13_15.py:設計distributeCandies( ) 函數執行分糖果程式設計
 
第十四章 貪婪演算法
面試實例ch14_1.py:設計findContentChildren( ) 函數輸出餅乾可以滿足多少小孩
面試實例ch14_2.py:設計lemonadeChange( ) 處理賣檸檬汁問題
面試實例ch14_3.py:設計minSequence( ) 列出最少元素的和大於其他元素總和
面試實例ch14_4.py:設計carPooling( ) 判斷可否完成接送所有旅客
面試實例ch14_5.py:排課問題
面試實例ch14_6.py:背包問題
面試實例ch14_7.py:電台問題
面試實例ch14_8.py:列出業務員最適當的拜訪路線與最後旅行距離
 
第十五章 動態規劃程式
面試實例ch15_1.py:設計climbStairs( ) 處理爬樓梯問題
面試實例ch15_2.py:設計rob( ) 函數計算最多可以偷多少價值的物品
面試實例ch15_3.py:設計minCost( ) 函數處理使用最少經費粉刷房子
面試實例ch15_4.py:設計numWays( ) 計算粉刷籬笆有多少種刷法
面試實例ch15_5.py:設計divisorGame( ) 的遊戲 
面試實例ch15_6.py:設計uniquePaths( ) 函數記錄機器人在地圖上有幾種走法
面試實例ch15_7.py:設計minimumTotal() 函數計算triangle 路徑和的最小值
面試實例ch15_8.py:小偷與背包問題,計算小偷最多可以偷多少水果
面試實例ch15_9.py:最高價值的旅遊景點程式設計
面試實例ch15_10.py:計算挖金礦的最高產值
 
第十六章 綜合應用
面試實例ch16_1.py:設計floodFill( ) 函數為圖像執行顏色更改
面試實例ch16_2.py:從臉書上找尋有經銷香蕉的商家
面試實例ch16_3.py:走迷宮程式設計
面試實例ch16_4.py:河內塔問題
面試實例ch16_5.py:設計從一點到所有其他點的最短距離
面試實例ch16_6.py:有一個圖形含負權重設計從一點到所有其他點的最短距離
面試實例ch16_7.py:八皇后問題
面試實例ch16_8.py:VLSI 超大型積體電路設計
面試實例ch16_9.py:科赫(Von Koch) 雪花設計
 

 
  Python 已經流行很多年了,從2017 年起至今2020 年,根據IEEE Spectrum 報導Python 已經是計算機語言排名第一名,至今此排名仍未改變,由於採開放策略(open source)、簡單易學、功能強大、應用領域廣大、更有許多公司或個人為此軟體設計模組供大家免費使用,所以成為當今最重要的程式語言。
 
  所有工程師紛紛從熟悉的Java、C/C++ 轉進學習Python,學校也開始由教Java、C/C++ 轉成教Python,展開程式設計師的就業廣告,幾乎都是以Python 語言為主流,這本書則是收集國內外各大主流公司的熱門考試主題,以及筆者認為學習Python 應該了解的觀念,全部以極詳細、超清楚的程式實例解說,期待讀者可以錄取全球著名企業獲得高薪。
 
  Python 工程師面試第一個主題當然是測試面試者對於Python 語言的瞭解與熟悉程度,內行的面試主管可以經由面試者對於下列Python 重點與特色的理解程度,可以很輕易了解面試者Python 功力如何?是不是具備真正Python 工程師的資格?
 
  ■ 認識 Python 特色
  ■ 跳脫 Java、C/C++ 邏輯,從 Python 觀念設計程式
  ■ 串列 ( 元組 ) 切片 (slicing)
  ■ 串列 ( 元組 ) 打包 (packing)、解包 (unpacking)
  ■ 認識何謂可迭代物件 (iterator object)
  ■ 認識生成式 (generator)
  ■ 認識字典、集合操作
  ■ 類別與模組
  ■ 正則表達式
 
  坦白說,市面上有一些Python 的著作,由所使用的範例可以知道作者仍是用Java、C/C++ 觀念在撰寫範例,並沒有真正了解Python 的核心精神,所以要成為一位標準的Python 程式設計師一定要了解Python 語法的新觀念。
 
  面試時間通常不會太長,面試的另一個重點是考演算法,一個看似簡單的題目描述往往暗藏豐富的演算法知識,這時就是訓練讀者的邏輯與思考的能力,在這本書筆者也使用了極豐富與廣泛的演算法題目,詳細說明解題過程,至少在面試時讀者碰上類似考題可以輕鬆面對,在極短的面試時間完成解題,本書的演算法考題包含下列內容:
 
  ■ 排序與搜尋
  ■ 字串
  ■ 陣列
  ■ 鏈結串列
  ■ 二元樹
  ■ 堆疊與回溯
  ■ 數學問題
  ■ 深度、廣度優先搜尋
  ■ 最短路徑演算法
  ■ 貪婪演算法
  ■ 動態規劃演算法
 
  一本書的誕生最重要價值是有系統傳播知識,讀者可以從有系統知識架構,快速學會想要的知識。
 
  全書內容包含100 個問答題和301 個程式實例,寫過許多的電腦書著作,本書沿襲筆者著作的特色,程式實例豐富,編著本書雖力求完美,但是學經歷不足,謬誤難免,尚祈讀者不吝指正。
 
洪錦魁2020-06-15
jiinkwei@me.com
 
  圖書資源說明
  本書籍的所有程式實例可以在深智公司網站下載,本書書號DM2027 是密碼。
 
  臉書粉絲團
  歡迎加入:王者歸來電腦專業圖書系列
 

詳細資料

  • ISBN:9789865501365
  • 規格:平裝 / 376頁 / 17 x 23 x 1.9 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣

會員評鑑 TOP

會員評鑑等級 ,共 4 位評分。

感謝您為本商品發表您的看法,這是專屬於博客來會員的發表園地。 看更多書評請前往 【讀者書評】專區

最近瀏覽商品

 

相關活動

  • 2020大學新鮮人
 

購物說明

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則 

  • 年度戀愛大展
  • 城邦年中展
  • 角川全書系

訂閱電子報

想獲得最新商品資訊,請訂閱免費電子報