返回顶部
首页 > 资讯 > 后端开发 > Python >Python工程师常见面试题有哪些
  • 534
分享到

Python工程师常见面试题有哪些

2023-06-02 00:06:15 534人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python工程师常见面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1.tcp 协议和 udp 协议有什么区

本篇内容介绍了“python工程师常见面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  1.tcp 协议和 udp 协议有什么区别?

  (1)TCP 面向连接(如打电话要先拨号建立连接);UDP 是无连接的,即发送数据之前不需要建立连接。
  (2)每一条 TCP 连接只能是点到点的;UDP 支持一对一,一对多,多对一和多对多的交互通信。
  (3)TCP 首部开销 20 字节;UDP 的首部开销小,只有 8 个字节。
  (4)TCP 的逻辑通信信道是全双工的可靠信道,UDP 则是不可靠信道。

  2.Post 和 get 区别?

  (1)GET 请求的数据会暴露在地址栏中,而 POST 请求则存在表单中提交所以 post 相对安全
  (2)post 传输数据比 get 大。
  (3)post 比 get 安全。

  3.cookie 和 session 的区别?

  (1)cookie 数据存放在客户的浏览器上,session 数据放在服务器上。
  (2)cookie 不是很安全,别人可以分析存放在本地的 COOKIE 并进行 COOKIE欺骗考虑到安全应当使用 session。
  (3)session 会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能考虑到减轻服务器性能方面,应当使用 COOKIE。
  (4)单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。
  (5)建议:将登陆信息等重要信息存放为 SESSION其他信息如果需要保留,可以放在 COOKIE 中。

  4.什么是僵尸进程和孤儿进程,怎么避免僵尸进程?

  (1)孤儿进程:父进程退出,子进程还在运行的这些子进程都是孤儿进程,孤儿进程将被会被其它进程收养,不会造成影响。
  (2)僵尸进程:子进程退出,而父进程迟迟不回收,造成资源浪费。
  (3)避免僵尸进程的方法:1.fork 两次用孙子进程去完成子进程的任务。2.用 wait()函数使父进程阻塞。

      5.scrapy 和 scrapy-redis 有什么区别?

  答:scrapy 是一个 Python 爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。而 scrapy-Redis 一套基于 redis 数据库、运行在 scrapy 框架之上的组件,可以让scrapy 支持分布式策略,Slaver 端共享 Master 端 redis 数据库里的 item 队列、请求队列和请求指纹集合

    6.描述下 scrapy 框架运行的机制?

  答:从 start_urls 里获取第一批 url 并发送请求,请求由引擎交给调度器入请求队列,获取完毕后,调度器将请求队列里的请求交给下载器去获取请求对应的响应资源,并将响应交给自己编写的解析方法做提取处理:1. 如果提取出需要的数据,则交给管道文件处理;2. 如果提取出url,则继续执行之前的步骤(发送url请求,并由引擎将请求交给调度器入队列...),直到请求队列里没有请求,程序结束。

   7.Post 和 get 区别和应用场合?

  区别:

  Get:从指定的服务器中获取数据。GET 请求能够被缓存;GET 请求会保存在浏览器的浏览记录中;以 GET 请求的URL能够保存为浏览器书签;GET 请求有长度限制;GET 请求主要用以获取数据。

  Post:POST 请求不能被缓存下来;POST 请求不会保存在浏览器浏览记录中; POST 请求的 URL 无法保存为浏览器书签;POST 请求没有长度限制;POST 请求会把请求的数据放置在Http 请求包的包体中,POST 的安全性比 GET的高。可能修改变服务器上的资源的请求。

  应用场合:

  post:请求的结果有持续性的副作用(数据库内添加新的数据行)若使用 GET 方法,则表单上收集的数据可能让 URL 过长。要传送的数据不是采用 7 位的 ASCII 编码。

  get:请求是为了查找资源,html表单数据仅用来帮助搜索。请求结果无持续性的副作用。收集的数据及 HTML 表单内的输入字段名称的总长不超过 1024 个字符。

   8.说一下 mysql 数据库存储的原理?

  储存过程是一个可编程的函数,它在数据库中创建并保存。它可以有 sql 语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。存储过程通常有以下优点:

  a、存储过程能实现较快的执行速度。

  b、存储过程允许标准组件是编程。

  c、存储过程可以用流程控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。

  d、存储过程可被作为一种安全机制来充分利用。

  e、存储过程能够减少网络流量。

  9.数据库索引

  数据库索引,是数据库管理系统中一个排序数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用 B_TREE。B_TREE 索引加速了数据访问,因为存储引擎不会再去扫描整张表得到需要的数据;相反,它从根节点开始,根节点保存了子节点的指针,存储引擎会根据指针快速寻找数据。

  10.数据库优化方案

  优化索引、SQL 语句、分析慢查询

  设计表的时候严格根据数据库的设计范式来设计数据库

  使用缓存,把经常访问到的数据而且不需要经常变化的数据放在缓存中,能节约磁盘 IO

  优化硬件;采用 SSD,使用磁盘队列技术(RAID0,RAID1,RDID5)等;

  采用Mysql内部自带的表分区技术,把数据分层不同的文件,能够提高磁盘的读取效率

  垂直分表;把一些不经常读的数据放在一张表里,节约磁盘 I/O

  主从分离读写;采用主从复制把数据库的读操作和写入操作分离开来

  分库分表分机器(数据量特别大),主要的的原理就是数据路由

  选择合适的表引擎,参数上的优化

  进行架构级别的缓存,静态化和分布式

  不采用全文索引

  采用更快的存储方式,例如 NoSql 存储经常访问的数据。

  11.数据库怎么优化查询效率?

  1、储存引擎选择:如果数据表需要事务处理,应该考虑使用 InnoDB,因为它完全符合 ACID 特性。如果不需要事务处理,使用默认存储引擎 MyISAM 是比较明智的

  2、分表分库,主从。

  3、对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引

  4、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描

  5、应尽量避免在 where 子句中使用 != 或 <> 操作符,否则将引擎放弃使用索引而进行全表扫描

  6、应尽量避免在 where 子句中使用 or 来连接条件,如果一个字段有索引,一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描

  7、Update 语句,如果只更改 1、2 个字段,不要 Update 全部字段,否则频繁调用会引起明显的性能消耗,同时带来大量日志

  8、对于多张大数据量(这里几百条就算大了)的表 JOIN,要先分页再 JOIN,否则逻辑读会很高,性能很差。

“Python工程师常见面试题有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python工程师常见面试题有哪些

本文链接: https://www.lsjlt.com/news/228318.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python工程师常见面试题有哪些
    本篇内容介绍了“Python工程师常见面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1.Tcp 协议和 udp 协议有什么区...
    99+
    2023-06-02
  • c++工程师面试常见问题有哪些
    小编给大家分享一下c++工程师面试常见问题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  1、 c++是面向对象的编程语言吗C++中虚函数(virtual...
    99+
    2023-06-03
  • Python工程师有哪些面试真题
    这篇文章主要讲解了“Python工程师有哪些面试真题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python工程师有哪些面试真题”吧!1、请尽可能列举python列表的成员方法,并给出一下...
    99+
    2023-06-17
  • Python有哪些常见面试题
    这篇文章主要讲解了“Python有哪些常见面试题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python有哪些常见面试题”吧! python是如何进行类型转换的?python提供了将变量或...
    99+
    2023-06-02
  • Python常见的面试题有哪些
    本篇内容介绍了“Python常见的面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、一行代码实现1--100之和利用sum()函...
    99+
    2023-06-16
  • Python常见面试问题有哪些
    这篇文章主要介绍“Python常见面试问题有哪些”,在日常操作中,相信很多人在Python常见面试问题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python常见面试问题有哪些”的疑惑有所帮助!接下来...
    99+
    2023-06-04
  • python有哪些常见的面试题
    本篇内容介绍了“python有哪些常见的面试题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1、python下多线程的限制以及多进程中传...
    99+
    2023-06-02
  • 最常见Python面试题有哪些
    本篇内容主要讲解“最常见Python面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“最常见Python面试题有哪些”吧!问:Python变量、函数、类的命名规则?答:Python命名规...
    99+
    2023-06-02
  • Python的常见面试题有哪些
    本篇内容主要讲解“Python的常见面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的常见面试题有哪些”吧!一. 遇到过得反爬虫策略以及解决方法通过headers反爬虫基于...
    99+
    2023-06-02
  • Python工程师需要掌握的面试题有哪些
    这篇文章主要讲解了“Python工程师需要掌握的面试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python工程师需要掌握的面试题有哪些”吧! 1、Python有哪些特点...
    99+
    2023-06-16
  • Python最常见的面试题有哪些
    这篇文章主要介绍“Python最常见的面试题有哪些”,在日常操作中,相信很多人在Python最常见的面试题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python最常见的面试题有哪些”的疑惑有所帮助!...
    99+
    2023-06-16
  • 最常见的Python面试题有哪些
    这篇文章主要讲解了“最常见的Python面试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“最常见的Python面试题有哪些”吧!Q 1:Python有哪些特点和优点?作为一门编程入门...
    99+
    2023-06-02
  • PHP开发工程师面试问题有哪些
    这篇文章主要讲解了“PHP开发工程师面试问题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP开发工程师面试问题有哪些”吧!  1. 下列哪一句不能将'john'添加...
    99+
    2023-06-04
  • JS常见面试试题有哪些
    这篇文章主要介绍了JS常见面试试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:JavaScript面试题总结1,首先是数组...
    99+
    2024-04-02
  • 常见Redis面试题有哪些
    本篇内容主要讲解“常见Redis面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“常见Redis面试题有哪些”吧!1、Redis支持的数据类型?Stri...
    99+
    2024-04-02
  • Node.js有哪些常见面试题
    这篇文章主要介绍“Node.js有哪些常见面试题”,在日常操作中,相信很多人在Node.js有哪些常见面试题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node.js有哪些...
    99+
    2024-04-02
  • Vue常见面试题有哪些
    这篇文章将为大家详细讲解有关Vue常见面试题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、对于MVVM的理解MVVM 是 Model-View-ViewModel 的缩写。Model代表数据模型...
    99+
    2023-06-14
  • Bootstrap常见面试题有哪些
    这篇“Bootstrap常见面试题有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Bootstrap常见面试题有哪些”文...
    99+
    2023-06-27
  • .net常见面试题有哪些
    这篇“.net常见面试题有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“.net常见面试题有哪些”文章吧。什么是.NET...
    99+
    2023-06-04
  • AJAX常见面试题有哪些
    这篇文章主要介绍了AJAX常见面试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是AJAX,为什么要使用AjaxAJAX是“Asynchronous JavaSc...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作