02 - 本人亲身遇到的面试题 - Python 初级爬虫开发岗位

  1. post和get的区别?
    区别:
    1、传送方式:get通过地址栏传输,post通过报文传输。
    2、传送长度:get参数有长度限制(受限于url长度),而post无限制
    3.,GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
    而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

  2. 分布式锁,进程锁,线程锁到底是什么
    在分布式集群系统的开发中,线程锁往往并不能支持全部场景的使用,必须引入新的技术方案分布式锁。
      线程锁:大家都不陌生,主要用来给方法、代码块加锁。当某个方法或者代码块使用锁时,那么在同一时刻至多仅有有一个线程在执行该段代码。当有多个线程访问同一对象的加锁方法/代码块时,同一时间只有一个线程在执行,其余线程必须要等待当前线程执行完之后才能执行该代码段。但是,其余线程是可以访问该对象中的非加锁代码块的。
      进程锁:也是为了控制同一操作系统中多个进程访问一个共享资源,只是因为程序的独立性,各个进程是无法控制其他进程对资源的访问的,但是可以使用本地系统的信号量控制(操作系统基本知识)。
      分布式锁:当多个进程不在同一个系统之中时,使用分布式锁控制多个进程对资源的访问。

  3. 什么是进程?
    把一个程序执行起来,处于执行状态的程序叫做进程。
    进程里面至少有一个线程:主线程。
    不同进程使用的内存资源都是相互独立的,互不影响和干涉。
    进程是操作系统分配资源的最小单位。
    进程肯定比线程占用的资源多一些。

  4. 什么是线程
    是操作系统能够进行运算调度的最小单位。
    它被包含在进程之中,是进程中的实际运作单位。
    一条线程指的是进程中一个单一顺序的控制流。
    一个进程可以并发多个线程。

  5. 什么是Python迭代器?
    迭代器(Iterator):迭代器可以看作是一个特殊的对象,每次调用该对象时会返回自身的下一个元素,从实现上来看,一个迭代器对象必须是定义了__iter__()方法和next()方法的对象。

  6. http和https的区别:
    http,是超文本传输协议,是明文传输,https是经过ssl加密的传输协议
    http 的端口是80,https的端口是443
    http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

  7. HTTP请求常见的状态码
    1.2开头的相关的状态码:200(成功),201(已创建),202(已接受),203(非授权信息),204(无内容),205(重置内容),206(部分内容)等等
    2.3开头的相关的状态码:300(多种选择),301(永久移动),302(临时移动),303(查看其他未知),304(未修改),305(使用代理),307(临时重定向)等等
    3.4开头的相关的状态码:400(错误请求),401(未授权),403(禁止),404(未找到),405(方法禁用),406(不接受)等等
    4.5开头的相关的状态码:500(服务器错误),501(尚未实施),502(错误网关),503(服务不可用),504(网关超时),505(版本不受支持)等

找工作最基础要了解的东西

python
    框架:scrapy
    爬虫部署框架:scrapyd
    spark  (爬虫)  处理大数据的

web
    flask    Django 能写出接口,接口要求用 postman  get/post 方法请求

linux
    命令-关键字:cd  ls/ll  mkdir  scp  yum  ps  tail  kill  screen  crontab  nginx  uwsgi  mysql

数据库
    mysql   (关系型数据库)
    mongodb (非关系型数据库)
    redis
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值