新书出版|《Python程序员面试笔试宝典》

0    2594    4

Tags:

👉 本文共约8127个字,系统预计阅读时间或需31分钟。

书名:《Python程序员面试笔试宝典》

作者:小麦粒、小麦苗

定价:89.00元

出版社:机械工业出版社

出版时间: 2020年4月

ISBN: 9787111648178

豆瓣https://book.douban.com/subject/35034113/

购买连接:https://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w

内容简介

使用当下新版Python版本,真题库2020年全面更新,作者就职世界500强IT名企,培训经验丰富Python相关领域面试、笔试、经验心得、算法、考点、难点、真题解析一应俱全,获取高薪推荐

《Python程序员面试笔试宝典》是一本讲解Python程序员面试笔试的百科全书,在写法上,除了讲解如何解答Python程序员面试笔试问题以外,还引入了相关知识点辅以说明,让读者能够更加容易理解。《Python程序员面试笔试宝典》将Python程序员面试笔试过程中各类知识点一网打尽,在广度上,通过各种渠道,搜集了近3年几乎所有IT企业针对Python岗位的笔试、面试涉及的知识点,包括但不限于Python基础与不错知识点、数据库、数据结构与算法、Python与爬虫、Python与数据分析和机器学习相关的知识点。所选择知识点均为企业招聘考查的知识点。在讲解的深度上,本书由浅入深地分析每一个知识点,并提炼归纳,同时,引入相关知识点,并对知识点进行深度剖析,让读者不仅能够理解这个知识点,还能在遇到相似问题时也能游刃有余地解决,而这些内容是其他同类书籍所没有的。本书根据知识点进行归纳分类,结构合理,条理清晰,对于读者进行学习与检索意义重大。《Python程序员面试笔试宝典》是一本计算机相关专业毕业生面试、笔试的求职用书,同时也适合期望在计算机软、硬件行业大显身手的计算机爱好者阅读。

作者简介

网名“小麦粒”,甘肃武威人,西北农林科技大学理学硕士,长期从事Python数据分析与数据挖掘工作,能在海量数据中寻找数据规律,发现数据异常,获取深入的,有价值的信息,保证数据分析结果的高质量和数据挖掘的高价值,并在机器学习领域有一定造诣,热衷技术分享。个人公众号:python宝

前言

生命不息,学习不止。如今快节奏的城市生活让我们没法腾出大量的时间去了解和学习新知识,那么我们该如何利用有限的碎片时间快速掌握最新最全的知识呢?如果不去遍历世界,我们就不知道什么是我们精神和情感的寄托,但我们一旦遍历了世界,却发现我们再也无法回到那美好的地方去了。当我们开始寻求,我们就已经失去,而我们不开始寻求,我们根本无法知道自己身边的一切是如此可贵。然时光经不起等待,趁着岁月未老、晚风未凉,该学习的学习,该实验的实验,该考试的考试,趁着你我都年轻。

程序员求职始终是当前社会的一个热点,而市面上有很多关于程序员求职的书籍,例如《Oracle程序员面试笔试宝典》、《剑指offer》、《程序员面试笔试宝典》、《Java程序员面试笔试宝典》、《数据库程序员面试笔试真题与解析》、《编程珠玑》等,它们都是针对基础知识的讲解,各有侧重点,而且在市场上反映良好,但是,我们发现,当前市面上没有一本专门针对Python程序员的面试笔试宝典,很多读者朋友们向我们反映,他们希望有一本能够详细剖析面试笔试中数据库相关知识的图书,虽然网络上有一些IT企业的数据库面试笔试真题,但这些题大都七零八凑,毫无系统性可言,而且绝大多数题目都是一些博主自己做的,答案简单,准确性不高,即使偶尔答案正确了,也没有详细的讲解,这就导致读者做完了这些真题,根本就不知道自己做得是否正确,完全是徒劳。如果下一次这个题目再次被考查,自己还是不会。更有甚者,网上的答案很有可能是错误的,此时甚至还会误导读者。

针对这种情况,本书创作团队经过精心准备,从互联网上的海量Python面试笔试真题中,选取了当前顶级企业(包括微软、百度、腾讯、阿里巴巴、360、小米等)的面试笔试真题,挑选出其中最典型、考查频率最高、最具代表性的真题,做到难度适宜,兼顾各层次读者的需求,同时对真题进行知识点的分门别类,做到层次清晰、条理分明、答案简单明了。最终形成了这样一本《Python程序员面试笔试宝典》。本书特点鲜明,所选真题以及写作手法具有以下特点:

第一,考查率高:本书中所选真题全是Python程序员面试笔试常考考点,例如Python基础知识、网络基础知识、数据库基础知识、数据结构与算法、爬虫、数据分析、机器学习等。

第二,行业代表性强:本书中所选真题全部来自于顶级知名企业,它们是行业的风向标,代表了行业的高水准,其中绝大多数真题因为题目难易适中,而且具有非常好的区分度,通常会被众多中小企业全盘照搬,具有代表性。

第三,答案详尽:本书对每一道题目都有非常详细的解答,庖丁解牛,不仅告诉答案,还告诉读者同类型题目以后再遇到了该如何解答。

第四,分类清晰、调理分明:本书对各个知识点都进行了分门别类,这种写法有利于读者针对个人实际情况做到有的放矢,重点把握。

由于图书的篇幅所限,我们无法将所有的程序员面试笔试真题内容都写在书稿中,鉴于此,读者可通过扫描封底计算机分社微信公众号获得相关资源的下载链接。此外,猿媛之家在官方网站上提供了一个读者交流平台,读者朋友们可以在该网站上上传各类面试笔试真题,也可以查找到自己所需要的知识,同时,读者朋友们也可以向本平台提供当前最新、最热门的程序员面试笔试题、面试技巧、程序员生活等相关材料。除此以外,我们还建立了微信公众号:猿媛之家,作为对外消息发布平台,以图最大限度地满足读者需要。欢迎读者关注探讨新技术。

本书适合的读者对象主要有如下几类:

(1)刚毕业找工作的同学,及从其他岗位转Python岗位的人员。

(2)面试Python程序员初中级工作的人员。

(3)面试Python爬虫开发工作的人员。

(4)面试数据库初级岗位的人员。

(5)面试机器学习和数据分析的人员。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

(6)Python爱好者。

感谢在我们成长道路上帮助我们的人,他们是父母、亲人、同事、朋友、同学等,无论我们遇到了多大的挫折与困难,他们对我们都能不离不弃,一如既往地支持与帮助我们,使我们能够开开心心地度过每一天。在此对以上所有人致以最衷心的感谢。

所有的成长和伟大,如同中药和老火汤,都是一个时辰一个时辰熬出来的,所有的好书,都是逐字逐句琢磨出来的。在技术的海洋里,我们不是创造者,但我们更愿意去当好一名传播者的角色,让更多的求职者能够通过本书的系统学习,找到一份自己满意的工作,实现自己的人生理想与抱负。

我们每个人的人生都是一场戏剧,我们每个人都要成为戏剧的主角,而不应该沦为别人戏剧的配角,所以,我们建议所有的求职者在求职的道路上,无论遇到了多大的困难,遭遇了多大的挫折,都不要轻言放弃,你们的母校可能不是“985”、“211”,你们的学历可能不是本科生、研究生,你们的专业可能也不是计算机相关,但这些都不要紧,只要认真努力,立志成为一名程序员,以我们辅导过的成千上万的求职者经验而言,百分之九十以上的企业是完全可以求职成功的。请记住:在这个世界上,没有人可以让你仰视,除非你自己跪着。

本书目录

第1章 求职经验分享 - 7 -
1.1 Python程序员有哪些可供选择的职业发展道路? - 7 -
1.2 当前市场对于Python程序员的需求如何?待遇如何? - 7 -
1.3 当企业在招聘时,对Python程序员通常有何要求? - 9 -
1.4 要想成为一名出色的Python程序员,需要掌握哪些必备的知识? - 10 -
第2章 Python基础 - 12 -
2.1 什么是Python?使用Python有什么好处? - 12 -
2.2 Python中常用的保留字有哪些? - 12 -
2.3 Python 2.x与3.x版本有哪些主要的区别? - 13 -
2.4 Python中有哪些常见的运算符? - 16 -
2.5 运算符is与==有什么区别? - 18 -
2.6 数据类型 - 19 -
2.6.1 Python都有哪些自带的数据类型?可变类型和不可变类型分别包括哪些? - 19 -
2.6.2 列表、元组、集合、字典的区别有哪些? - 21 -
2.6.3 列表和元组的区别有哪些? - 21 -
2.6.4 Python有哪些常见的数据类型转换函数? - 22 -
2.6.5 列表、元组、集合、字典之间如何相互转换? - 23 -
2.6.6 如何删除一个列表(list)中的重复元素? - 24 -
2.6.7 如何求两个列表(list)的交集、差集或并集? - 25 -
2.6.8 如何反序的迭代一个序列? - 26 -
2.6.9 列表的sort方法和sorted方法有何区别? - 27 -
2.6.10 列表中常用的方法有哪些? - 29 -
2.6.11 什么是列表生成式? - 30 -
2.6.12 字符串格式化%和.format的区别是什么? - 31 -
2.6.13 单引号、双引号和三引号的区别有哪些? - 32 -
2.6.14 Python中常用字符串函数有哪些? - 32 -
2.6.15 如何判断一个字符串是否全为数字? - 33 -
2.6.16 Python字典有哪些内置函数? - 34 -
2.6.17 字典的items()方法与iteritems()方法有什么不同? - 35 -
2.6.18 集合常见内置方法有哪些? - 36 -
2.6.19 其它 - 36 -
2.7 Python中的日期和时间 - 46 -
2.7.1 编写函数返回昨天的日期 - 48 -
2.7.2 计算每个月的天数 - 48 -
2.7.3 如何获取某月的日历? - 49 -
2.8 流程控制语句 - 49 -
2.8.1 Python中pass语句的作用是什么? - 49 -
2.8.2 用程序实现斐波纳契数列 - 49 -
2.8.3 Python编程中的except有哪些作用? - 50 -
2.8.4 给出一个自定义异常的示例 - 51 -
2.8.5 range()函数的作用有哪些? - 51 -
2.8.6 xrange和range的区别有哪些? - 53 -
2.8.7 请生成九九乘法表 - 53 -
2.8.8 打印三角形 - 54 -
2.8.9 简单计算器 - 55 -
2.8.10 1,2,3,4,5能组成多少个互不相同的无重复的三位数?请用程序分别列出。 - 55 -
2.8.11 判断用户输入的年份是否为闰年 - 56 -
2.8.12 请编写一个函数判断用户输入的数值是否为质数 - 56 -
2.9 collections模块 - 57 -
2.9.1 如何获取一个字符串中某个字符的个数? - 57 -
2.9.2 deque的作用是什么? - 57 -
2.9.3 defaultdict的作用是什么? - 58 -
2.9.4 OrderedDict的作用是什么? - 58 -
2.10 itertools模块有什么作用? - 59 -
2.11 浅谈你对Python编码规范的认识,并写出你知道的编码规范 - 60 -
2.12 与SHELL脚本相关的面试题 - 60 -
2.13 其它真题 - 69 -
第3章 Python进阶 - 79 -
3.1 函数 - 79 -
3.1.1 Python如何定义一个函数? - 79 -
3.1.2 什么是lambda函数? - 79 -
3.1.3 普通函数和lambda函数有什么异同点? - 81 -
3.1.4 单下划线与双下划线的区别有哪些? - 81 -
3.1.5 Python的函数参数传递方式是什么? - 85 -
3.1.6 什么是闭包? - 86 -
3.1.7 函数中args和**kwargs的作用是什么? - 87 -
3.1.8 其它 - 88 -
3.2 模块 - 104 -
3.2.1 什么是模块?它有什么好处? - 104 -
3.2.2 模块有哪几种导入方式? - 105 -
3.2.3 os和sys模块的区别有哪些? - 105 -
3.2.4 “name”属性的作用是什么? - 108 -
3.2.5 dir()函数的作用是什么? - 108 -
3.2.6 读写文件常用的方法有哪些? - 109 -
3.2.7 pickle模块的作用是什么? - 111 -
3.2.8 Python里面如何生成随机数? - 112 -
3.2.9 pip是什么? - 114 -
3.2.10 其它 - 115 -
3.3 Python的装饰器是什么? - 116 -
3.4 Python的构造器是什么? - 117 -
3.5 Python的生成器(Generator)是什么? - 118 -
3.6 Python的迭代器(Iterator)是什么? - 120 -
3.7 迭代器和生成器的区别有哪些? - 121 -
3.8 isinstance()和type()的区别是什么? - 122 -
3.9 Python中的浅拷贝、深拷贝和赋值之间有什么区别? - 123 -
3.10 Python是如何进行内存管理的? - 125 -
3.11 内置函数 - 126 -
3.11.1 map()函数的作用是什么? - 126 -
3.11.2 reduce()函数的作用是什么? - 127 -
3.11.3 filter()函数的作用是什么? - 128 -
3.11.4 enumerate()函数的作用是什么? - 129 -
3.11.5 zip()函数的作用是什么? - 129 -
3.11.6 hasattr()、getattr()和setattr()函数的作用有哪些? - 130 -
3.12 面向对象 - 131 -
3.12.1 面向对象有哪三大特性? - 131 -
3.12.2 什么是继承? - 131 -
3.12.3 什么是多态? - 133 -
3.12.4 类属性和实例属性的区别? - 134 -
3.12.5 类变量需要注意什么? - 135 -
3.12.6 init方法的作用是什么? - 135 -
3.12.7 newinit的区别有哪些? - 136 -
3.12.8 reprstr有什么区别? - 137 -
3.12.9 什么是类方法、静态方法和实例方法? - 138 -
3.12.10 什么是私有属性和私有方法? - 139 -
3.12.11 Python如何实现单例模式? - 139 -
3.12.12 其它 - 140 -
3.13 正则表达式 - 145 -
3.13.1 正则表达式的一些语法 - 146 -
3.13.2 re模块有哪些常用的函数? - 147 -
3.13.3 用Python匹配HTML tag的时候,<.
>和<.*?>有什么区别? - 150 -
3.13.4 Python里面search()和match()的区别? - 150 -
3.13.5 如何用Python来进行查询和替换一个文本字符串? - 151 -
3.13.6 其它 - 151 -
3.14 办公自动化 - 153 -
3.14.1 Python如何操作Word? - 153 -
3.14.2 Python如何操作Excel? - 154 -
3.15 系统编程 - 155 -
3.15.1 什么是任务、进程和线程? - 155 -
3.15.2 thread模块中的start_new_thread()函数的作用是什么? - 156 -
3.15.3 使用Threading模块如何创建线程? - 157 -
3.15.4 如何保证线程之间的同步? - 158 -
3.15.5 Queue模块的主要作用是什么? - 159 -
3.15.6 什么是进程池? - 160 -
3.15.7 其它 - 161 -
3.16 网络编程 - 163 -
3.16.1 Python网络编程有哪些常用模块? - 164 -
3.16.2 Socket对象内建方法有哪些? - 164 -
3.16.3 如何用Python来发送邮件? - 165 -
3.16.4 使用Python如何收取邮件? - 166 -
3.16.5 如何用Python来发送短信? - 166 -
3.17 其它真题 - 167 -
第4章 数据结构与算法 - 173 -
4.1 栈、队列 - 173 -
4.1.1 如何实现栈? - 173 -
4.1.2 如何实现队列? - 175 -
4.2 二叉树基础知识 - 178 -
4.2.1 如何从顶部开始逐层打印二叉树结点数据? - 179 -
4.2.2 如何求一棵二叉树的最大子树和? - 181 -
4.2.3 如何判断两棵二叉树是否相等? - 182 -
4.2.4 如何把二叉树转换为双向链表? - 183 -
4.2.5 如何判断一个数组是否是二元查找树后序遍历的序列? - 185 -
4.2.6 如何判断一个自然数是否是某个数的平方? - 186 -
4.2.7 如何判断一个数是否为2的n次方? - 188 -
4.2.8 如何只使用+=操作符实现加减乘除运算? - 188 -
4.2.9 如何判断1024!末尾有多少个0? - 190 -
4.2.10 如何按要求比较两个数的大小? - 190 -
4.2.11 如何求有序数列的第1500个数的值? - 191 -
4.2.12 如何求二进制数中1的个数? - 192 -
4.2.13 如何找最小的不重复数? - 192 -
4.3 排序 - 195 -
4.3.1 如何进行选择排序? - 195 -
4.3.2 如何进行插入排序? - 196 -
4.3.3 如何进行冒泡排序? - 196 -
4.3.4 如何进行归并排序? - 197 -
4.3.5 如何进行快速排序? - 198 -
4.3.6 如何进行希尔排序? - 200 -
4.3.7 如何进行堆排序? - 201 -
4.3.8 如何进行基数排序? - 202 -
4.4 大数据 - 203 -
4.4.1 如何从大量的url中找出相同的url? - 203 -
4.4.2 如何从大量数据中找出高频词? - 204 -
4.4.3 如何在大量的数据中找出不重复的整数? - 204 -
4.4.4 如何在大量的数据中判断一个数是否存在? - 205 -
4.4.5 如何查询最热门的查询串? - 205 -
4.4.6 如何统计不同电话号码的个数? - 206 -
4.4.7 如何从5亿个数中找出中位数? - 207 -
4.4.8 如何找出排名前500的数? - 208 -
第5章 数据库相关 - 210 -
5.1 数据库基础理论 - 210 -
5.1.1 数据库的常见分类有哪些? - 210 -
5.1.2 事务的概念及其4个特性是什么? - 214 -
5.1.3 事务的4种隔离级别(Isolation Level)分别是什么? - 215 -
5.1.4 Oracle、MySQL和SQL Server中的事务隔离级别 - 217 -
5.1.5 什么是范式? - 219 -
5.1.6 什么是第一、二、三、BC范式? - 219 -
5.1.7 什么是反范式? - 224 -
5.1.8 索引的使用原则有哪些? - 224 -
5.1.9 什么是存储过程?它有什么优点? - 225 -
5.1.10 存储过程和函数的区别是什么? - 225 -
5.1.11 触发器的作用、优缺点有哪些? - 226 -
5.1.12 什么是视图?视图的作用是什么? - 226 -
5.1.13 什么是SQL注入? - 227 -
5.1.14 什么是MVCC? - 227 -
5.1.15 锁的作用有哪些? - 228 -
5.1.16 更新丢失指的是什么? - 228 -
5.1.17 悲观锁和乐观锁 - 229 -
5.1.18 什么是死锁(DeadLock)? - 229 -
5.2 MySQL数据库 - 230 -
5.2.1 MySQL如何做分页查询? - 230 -
5.2.2 MySQL有几种存储引擎(表类型)?各自有什么区别? - 230 -
5.2.3 MyISAM和InnoDB各有哪些特性?分别适用在怎样的场景下? - 237 -
5.2.4 MySQL中有哪些类型的索引? - 238 -
5.2.5 MySQL支持事务吗? - 238 -
5.2.6 MySQL有哪几个默认数据库? - 238 -
5.2.7 MySQL的慢查询是什么? - 239 -
5.2.8 如何定位执行效率较低的SQL语句? - 240 -
5.2.9 如何对MySQL的大表优化? - 240 -
5.2.10 如何对MySQL进行优化? - 241 -
5.2.11 MySQL区分大小写吗? - 244 -
5.2.12 MySQL的分区表 - 244 -
5.3 Python操作数据库 - 245 -
5.3.1 SQLite数据库 - 245 -
5.3.2 MySQL数据库 - 247 -
5.3.3 MongoDB数据库 - 249 -
5.3.4 Redis数据库 - 250 -
5.4 其它 - 251 -
第6章 爬虫基础知识 - 256 -
6.1 什么是爬虫? - 256 -
6.2 爬虫的基本流程有哪些? - 256 -
6.3 Request中包含了哪些内容? - 256 -
6.4 Response中包含了哪些内容? - 258 -
6.5 HTTP请求中的POST、GET有什么区别? - 259 -
6.6 HTTP、HTTPS协议有什么区别? - 260 -
6.7 Cookie和Session的有什么区别? - 260 -
6.8 域名和IP之间有什么关系,如何查看某个域名对应的IP地址? - 260 -
6.9 在HTTP协议头中,keep-alive字段有什么作用? - 260 -
6.10 HTTP常用的状态码(Status Code)有哪些? - 260 -
6.11 常用的爬虫框架或者模块有哪些?谈谈它们的区别或者优缺点? - 261 -
6.12 Scrapy相关 - 262 -
6.12.1 什么是Scrapy?它有哪些优缺点? - 262 -
6.12.2 Scrapy框架中各组件的作用是什么? - 262 -
6.12.3 其它 - 263 -
6.13 应用实例 - 266 -
6.13.1 请完成一个程序,并能按步骤实现以下功能: - 266 -
6.13.2 使用Python爬虫爬取小麦苗博客的连接地址并保存到本地Excel中 - 267 -
6.14 其它 - 270 -
第7章 数据分析基础知识 - 274 -
7.1 Anaconda是什么? - 274 -
7.2 Jupyter Notebook介绍 - 274 -
7.2.1 Jupyter Notebook是什么? - 274 -
7.2.2 Jupyter的cell是什么? - 275 -
7.2.3 Markdown模式常用命令包括哪些? - 276 -
7.2.4 常用Magic魔法指令有哪些? - 276 -
7.3 NumPy介绍 - 277 -
7.3.1 常用的Ndarray创建方法有哪些? - 277 -
7.3.2 Ndarray的属性有哪几个? - 279 -
7.3.3 常用Ndarray方法 - 279 -
7.3.4 Ndarray的基本操作 - 281 -
7.3.5 NumPy基本运算 - 283 -
7.4 Pandas介绍 - 284 -
7.4.1 Series - 284 -
7.4.2 DataFram - 286 -
7.4.3 Series和DataFrame的运算 - 288 -
7.4.4 Pandas数据处理 - 289 -
7.4.5 总结 - 291 -
7.5 Matplotlib介绍 - 292 -
7.5.1 Matplotlib简介及安装 - 292 -
7.5.2 Matplotlib的配置文件包括哪些配置项? - 292 -
7.5.3 Matplotlib用到的格式化字符包括哪些? - 293 -
7.5.4 Matplotlib用到的颜色缩写包括哪些? - 294 -
7.5.5 Matplotlib的使用 - 295 -
7.6 数据可视化库Seaborn - 297 -
7.6.1 Seaborn简介与安装 - 297 -
7.6.2 Seaborn与Matplotlib的区别有哪些? - 298 -
7.6.3 Seaborn绘制图 - 298 -
第8章 机器学习基础知识 - 305 -
8.1 机器学习背景 - 305 -
8.2 基本术语 - 305 -
8.3 机器学习算法 - 307 -
8.3.1 KNN-最近邻法 - 307 -
8.3.2 最小二乘法 - 310 -
8.3.3 梯度下降法 - 312 -
8.3.4 线性回归算法 - 314 -
8.3.5 逻辑回归 - 315 -
8.3.6 K-Means聚类算法 - 317 -
8.3.7 支持向量机算法 - 318 -
8.3.8 模型评估与选择 - 318 -
8.4 机器学习展望 - 322 -
第9章 笔试面试真题 - 323 -
9.1 真题1 - 323 -
9.1.1 选择题 - 323 -
9.1.2 填空题 - 325 -
9.1.3 程序题 - 325 -
9.2 真题2 - 327 -
9.2.1 选择题 - 327 -
9.2.2 填空题 - 329 -
9.2.3 程序题 - 329 -
9.3 答案 - 330 -
9.3.1 真题1答案 - 330 -
9.3.2 真题2答案 - 334 -

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部