Python已经流行很多年了,从2017年起至2020年,根据IEEE Spectrum报道,Python在编程语言中排名第一。Python具有开源(open source)、简单易学、功能强大、应用领域广大等特性,更有许多公司或个人为Python设计模块供大家免费使用,所以Python成为当今最重要的程序语言。
许多工程师纷纷从熟悉的Java、C/C++转向学习Python,学校也开始由教Java、C/C++转成教Python,面向程序员的就业广告,几乎以Python语言为主。本书收集了国内外各大主流公司的热门考题、LeetCode考题以及笔者认为学习Python应该掌握的知识,全部以详细、清楚的程序实例进行解说,期待帮助读者入职著名企业,获得高薪。
Python工程师面试的第一个主题,当然是测试面试者对于Python语言的了解与熟悉程度,内行的面试主管可以通过面试者对于下列Python重点内容的理解程度,轻易地了解面试者的Python功力:
Python特色;
脱离Java、C/C++的逻辑,以Python的逻辑设计程序;
列表/元组切片;
列表/元组打包、解包;
可迭代对象;
生成式;
字典、集合;
类与模块;
正则表达式。
坦白说,市面上有一些Python图书,由其所使用的范例就可以知道,作者仍是在用Java、C/C++的逻辑撰写,并没有真正了解Python的核心精神。要成为一位合格的Python程序设计师,一定要了解Python语法的新概念。
面试的另一个重点是算法,一个看似简单的题目往往暗藏丰富的算法知识,这时就是在考查面试者的逻辑与思考能力。本书也包含了极为丰富的算法题目,详细说明解题过程,帮助读者在面试时碰上类似考题可以轻松面对。本书的算法考题主要包含下列内容:
排序与搜寻;
字符串;
数组;
链表;
二叉树;
堆栈与回溯;
数学问题;
深度优先搜寻、广度优先搜寻;
最短路径算法;
贪婪算法;
动态规划算法。
全书包含100多个问答题和300多个程序实例,所有实例的源代码请扫描封底二维码下载。笔者写过许多计算机图书,本书沿袭了笔者写作的特色,程序实例丰富。本书虽力求完美,但谬误难免,尚祈读者不吝指正。
洪锦魁