编程面试题汇总

编程入门 行业动态 更新时间:2024-10-05 21:25:45

编程<a href=https://www.elefans.com/category/jswz/34/1769418.html style=面试题汇总"/>

编程面试题汇总

一、基础

1、语言相关问题

  • 问:python语言有什么特点,什么优点?

特点:python是一个解释型语言,代码是通过解释器,边解释边执行,执行哪段代码就解释哪段代码,不需要预编译生成可执行文件。

解释型语言缺点:太过依赖解释器环境,解释器是一个虚拟环境,在没有运行代码前就得申请内存、开辟空间,启动解释器,消耗更多内存。

python缺点: 执行效率不高

python优点:写代码效率高,开发速度快,跨平台性好(一次开发,到处运行,Window、Linux、Mac上只要有python解析器,就可以运行python代码)。相对容易学习,开源项目多。

  • 问:你是为什么使用python做开发,你是怎么走上python开发的?

可以列举理由: 大学时候 学的python 实习的学的是python 发现python很有意思:说出来上一问的优点。。。

  • 问:你出了python,还用过什么语言?

JavaScript(必会,网页脚本语言,vue中使用的就是JS语言)

  • 问:什么是编译型语言

编译型语言需要先编译,生成一个二进制文件,例如C,生成exe可执行文件;然后在执行。

优点:执行效率高。

缺点:调试bug麻烦,编写代码过程见效慢(写了代码不能立即看到效果,需要先编译在执行)

2、python PEP8规范

PEP8规范是python代码书写的指导规范,不是语法错误,是书写规范。(不遵守,代码不会报错的)

每一行缩进4个空格

所有行限制的最大字符数为79

不推荐一行导入多个模块(一行导入一个模块)

不使用单字符作为变量名,容易出错(1、0 像I、O)

类命名要首字母大写;函数命名要首字母小写,如果想提高可读性可以用下划线分隔。

3、常见的编码有哪些

ASCII 1个字节 英语语言(0-9 a-z A-Z 字符)

GBK 2个字节 中文编码 支持 繁体字

UTF-8 不定长编码(1-3字节) 万国码 支持 各种语言

1.为了处理英文字符,产生了ASCII码。
2.为了处理中文字符,产生了GB2312。
3.为了处理各国字符,产生了Unicode。
4.为了提高Unicode存储和传输性能,产生了UTF-8,它是Unicode的一种实现形式

二、python基础

1、p2和p3的区别

1、 python2 使用print打印   python3 使用print()方法打印
2、python2 的除法获得结果是整数    python3的除法获得结果是是浮点型数据,整除要双斜杠//
3、python2 默认是ASCII编码 要使用unicode 需要专门定义unicode字符串 例如 u'hello'
python3 默认就是unicode(utf-8)字符串
4、p2高级函数返回的是list  p3 高级函数返回的iteration迭代器

2、is 和 == 区别

== 只要值一样 则 为True

is 不仅要求值一样,还要求地址一样 才为True

例如:x=1 y=1 则 x is y 是True 这是因为python中有常量池 1属于常量池,x与y引用的是同一个常量,所以他们的地址是一样的。

例如 x=[1,2,3] y=[1,2,3] x==y 就是 True 但 x is y 是False 因为 x和y是不同的内存空间,地址页不一样

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5wpbgcPE-1620790899601)(…/…/…/images/image-20210427105228602.png)]

3.range与xrange

我没有用过xrange 我用过range, range表示一个范围,range函数返回的是一个可迭代对象),而不是列表类型。Python2中的range函数 返回的是一个list。

range(1,5) 不包括5 ,python中 这种区间的参数,一般都是 大于等于最新值,小于最大值

据我考察:python3返回列表的时候,都是返回 可迭代对象 不在直接返回列表了。

4、三元表达式

true表达式 if 判断表达式 else false表达式

y= 20 if x==3 else 10

5、互换变量

x,y=3,4x,y=y,x就可以实现 x与y的值的互换,由 x=3  y=4  换成了 x=4  y=3序列解包  序列封包

6、深拷贝与浅拷贝

  • 浅拷贝: 只拷贝第一层,没有拷贝深层,修改第一层相互不影响,修改第二层,相互影响。

  • 深拷贝: 递归性质的拷贝,会在内存中生成一套完全一样的内容,修改相互不影响

切片操作就是浅拷贝。

x = ["1", "2", ['a', 'b', 'c'], "3", "4", "5"]y = x[:3]
print(id(x), id(y))
y[2].append('k')
print(x, y)

7、python的自省

程序在运行时,可以获取到对象的信息 3个属性 2个类型

自省属性介绍使用
dir获取对象中的所有属性(属性、方法;继承自父类的属性、方法)
type查看对象的类型
hasattr判断对象中是否有某属性
getattr根据属性名 获取对象的属性值
isinstance判断对象是否是某个类型

案例:

class Student:country = "中国"def __init__(self, name, age=None):self.name = nameself.age = agedef say(self):print("我是{}")return "OK"def add():print("add")if __name__ == '__main__':s = Student("张三")print(dir(s))  #print(type(s))print(hasattr(s, "gender"))print(getattr(s, "name"))print(getattr(s, "say")())print(isinstance(s, list))print(isinstance(s, Student))

8、CSV文件,是什么

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字

更多推荐

编程面试题汇总

本文发布于:2024-02-28 08:46:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1769103.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:面试题

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!