大数据python面试题(陈旧版)

#1一行代码实现1--100之和

# print(sum(range(1,101)))
#2如何在一个函数内部修改全局变量
# 用global声明,将其转变为全局变量

#3列出5个python标准库

# datetime re os requests functools
#4字典如何删除键和合并字典

# #删除键
# dict = {'name':'liuwei','age':18}
# print(dict)
# del dict['name']
# print(dict)
# #合并字典
# dict1 = {'sex':'男'}
# dict.update(dict1)
# print(dict)
#5谈下python的GIL
# 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。
# GIL:又称全局解释器锁。作用就是限制多线程同时执行,保证同一时间内只有一个线程在执行。线程非独立的,所以同一进程里线程是数据共享;
# 当各个线程访问数据资源时会出现“竞争”状态,即数据可能会同时被多个线程占用,造成数据混乱,这就是线程的不安全。所以引进了互斥锁,确保某段关键代码、共享数据只能由一个线程从头到尾完整地执行。
# GIL并不是Python的特性,Python完全可以不依赖于GIL。

#6python实现列表去重的方法

#通过集合转列表
# lists = [1,1,2,3,4,5,2,3,1,34]
# print(list(set(lists)))
#7fun(*arg,**kwargs)中的*arg,**kwargs是什么意思?
# 两者主要用于函数定义,传参,若事先不知道传递多少个参数,可以使用这两个关键字
# *arg用来发射一个非键值对的可变数量参数列表给一个函数
# **kwargs允许将不定长度的键值对作为参数传递给一个函数

#8Python2和python3的range(100)的区别
#python2返回列表,python3返回迭代器,节省内存

#9一句话解释什么样的语言能够用装饰器
# 函数可以作为参数传递的语言可以用装饰器

#10python内建数据类型有哪些?
# 整型(int),浮点型 (float),字符串(str),列表(list),集合(set),元组(tuple),字典(dict) ,布尔型(bool)

#11简述面向对象中__new__和__init__区别
# __init__是初始化方法,创建对象后默认调用,可接收参数
# __init__有一个参数self,是__new__返回的实例,在此基础上可以完成一些其他初始化动作,且不需要返回值
# __new__至少要有一个参数cls代表当前类,此参数在实例化时由python解释器自动识别
# __new__必须要有返回值,返回实例化出来的实例
# 如果__new__创建的是当前类的实例,会自动调用__init__函数。

#12简述with方法打开处理文件帮我们做了什么?
# 打开文件在进行读写的时候可能会出现一些异常状况,如果按照常规的f.open写法,我们需要try,except.finally
# 做异常判断,并且文件最终不管遇到什么情况,都要执行finally f.close()关闭文件,with方法帮我们实现了这个方法。

#13列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10 的数,最终输出[16,25]

# lists = [1,2,3,4,5]
# def square(x):
#     return x**2
# res = map(square,lists)
# res1 = [x for x in res if x >10]
# print(res1)
#14python中生成随机整数,随机小数,0--1之间小数的方法

# import random
# import numpy as np
# #随机整数
# print(random.randint(1,100))  # 生成1到100之间的随机整数
# #随机小数
# print(np.random.randn(3))   #生成3个随机小数
# #0--1之间小数
# print(random.random())
#15避免转义给字符串加哪个字母表示原始字符串
# r,表示原始字符串,不转义特殊字符

#16<div class="num">中国</div>,用正则表达式匹配出标签中的内容(“中国”),其中class的类名是不确定的

# import re
# str1 = "<div class='num'>中国</div>"
# res = re.findall(r"<div class='.*'>(.*?)</div>", str1)
# print(res)
#17python中断言方法举例

# a = 3
# assert(a>1)
# print('断言成功,程序继续向下执行')
# b = 4
# assert(b>7)
# print('断言失败,程序报错')
#18数据表student有id,name,score,city字段,其中name中的名字可有重复,需要消除重复行,请写sql语句
# select distinct name from student

#19 10个linux常用命令

# ls命令:可列出指定目录下的内容及其相关属性信息,
# cat命令:主要是用于查看内容较少的纯文本文件的。
# cp命令: 主要用于复制文件或目录,可以合并文件复制,即多个文件复制到一个文件或目录下。
# mkdir命令:它主要是用来创建目录的,可以创建一个或多个目录。
# echo命令:主要用于字符串的输出。
# mv命令:是移动文件或对文件进行改名。
# rm命令: 是常用的用于删除的命令,可以用来删除整个目录,也可以只删除某个目录下的某一个文件或多个文件,
# df命令:可以查看我们的磁盘空间已经使用了多少,磁盘分区使用情况等。
# find命令:不加参数的话可用于查找目前所在路径的文件和目录,加参数的话,不同的参数会有不同的功能,并且支持正则。语法格式为:find [参数] [路径] [查找和搜索范围]。
# rpm命令:是管理软件包常用的命令。
#20python2和python3区别?列举5个

# 1、输出print的不同;2、整数除法,返回值的不同;3、列表理解循环变量方面;4、Unicode字符串方面;5、错误处理方面;
#21列出python中可变数据类型和不可变数据类型,并简述原理
# 可变类型(mutable):变量进行append、+=等这种操作后 == 改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。
# list dict set
# 不可变类型(immutable):改变了变量的值 == 新建了一个对象,而对于相同的值的对象,在内存中则只有一个对象(一个地址)
# int float  bool string tuple

#22s = "ajldjlajfdljfddd"去重并从小到大排序输出“adfjl

# s = "ajldjlajfdljfddd"
# s1 = sorted(list(set(s)))
# print(''.join(s1))
#23用lambda函数实现两个数相乘

# a = lambda x,y:x*y
# print(a(2,5))
#24字典根据键从小到大排序dict= {"name": "zs", "age": 18, "city": "深圳", "tel": "1362626627"}

# dict1 = {"name": "zs", "age": 18, "city": "深圳", "tel": "1362626627"}
# list = sorted(dict1.items(),key=lambda x:x[0])
# new_dict = dict(list)
# print(new_dict)
#25利用collections库的Counter方法统计字符串每个单词出现的次数"kjalfj; ldsjafl; hdsllfdhg; lahfbl; hl; ahlf; h"

# from collections import Counter
# str1 = "kjalfj; ldsjafl; hdsllfdhg; lahfbl; hl; ahlf; h"
# res = Counter(str1)
# print(res)
#26字符串a = "not 404 found 张三 99 深圳",每个词中间是空格,用正则过滤掉英文和数字,最终输出“张三 深圳”

# import re
# a = "not 404 found 张三 99 深圳"
# res = re.spl
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大数据Python面试题的参考资料提供了一份包含53个问题和答案的文章。这些问题涵盖了Python的各个方面,适用于数据科学家和工程师。文章的作者Chris提供了这些问题和答案,并鼓励读者在面试或工作准备时使用。 这些问题包括Python的基础知识,如变量和数据类型,条件语句和循环结构,函数和模块,以及面向对象编程。此外,还涉及到Python的高级特性,如生成器和迭代器,装饰器,异常处理,多线程和多进程编程等等。 这些问题的答案给出了简洁又详细的解释,帮助读者更好地理解和掌握Python的相关概念和技巧。通过阅读并回答这些问题,读者可以巩固自己的Python知识,并在面试展示出自己的能力和经验。 因此,如果你正在准备大数据Python面试或工作,参考这份文章会对你有很大的帮助。它提供了一系列全面而深入的问题和答案,覆盖了Python的各个方面,帮助你更好地准备和展示自己的技能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [53 道 Python 面试题,帮你成为大数据工程师](https://blog.csdn.net/ityard/article/details/108030999)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值