24校招,忆恒创源测试开发工程师一面(上)
大家好,我是chowley,今天回顾一下,我之前参加Memblaze的面试,英文题给我干麻了
部门:长三角区域
时间:40min
平台:腾讯会议
过程
- 自我介绍
- 英文自我介绍
- 前两段实习时间很短,为什么?
- 你们需要用python写脚本吗?
- CI/CD用的gitlab、devops、jenkins
- docker用的多吗?
- 你知道SSD HOD(机械硬盘)之间的区别吗? ● 容量:机械硬盘一般在1T左右,而固态硬盘一般会用的容量125G或者250G。 ● 重量、体积:固态硬盘要更轻、体积更小。 ● 功耗:固态硬盘的功耗也要低于机械硬盘。 ● 防震抗摔型:机械硬盘都是磁碟型的,数据储存在磁碟扇区里。而固态硬盘是使用闪存颗粒制作而成,内部不存在任何机械部件,因此在发生碰撞和震荡时能够将数据丢失的可能性降到最小。 ● 价格:固态硬盘的价格要比机械硬盘高出许多。 ● 噪音:固态硬盘运行基本无噪音,而机械硬盘的噪声相对明显。
- 为啥SSD I/O更快? 固态硬盘是从存储单元里读写数据,HDD 是机械的,磁头从盘片上读写数据,电子的当然比机械的快。 同时HDD是靠机械的磁头在盘片上读写数据,要经过寻道读写等过程,都需要时间,而ssd 是通过电路选择存储位置进行读取,电的速度是非常快的,所以ssd比hdd更快。
- 学校的项目是咋来的?
- 开发项目
- 比赛
- python面向对象还是面向过程? Python有很多面向对象的特性,例如类、对象、继承、多态、封装等等。 Python也有很多面向过程的特性,例如函数、变量、流程控制、模块等等。 Python甚至允许在一个程序中混合使用不同的范式,例如在一个类中定义函数,在一个函数中创建对象等等。 因此,我们不能简单地说Python是面向对象的还是面向过程的,而应该说Python是既可以面向对象又可以面向过程的。
- 面向对象的三大基本特征?啥意思? 面向对象的三大基本特征是封装、继承和多态。
- 封装(Encapsulation):封装是指将数据(属性)和行为(方法)封装在类中,并对外部提供访问接口。通过封装,可以隐藏对象的内部状态,只允许通过对象的方法来访问和修改内部状态,从而保证数据的安全性和一致性。
- 继承(Inheritance):继承是指一个类(子类)可以继承另一个类(父类)的属性和方法。子类可以在不修改父类的情况下增加新的功能或修改已有的功能。通过继承,可以实现代码的重用和扩展。
- 多态(Polymorphism):多态是指同一个方法在不同的对象上有不同的表现形式。在面向对象的程序设计中,多态是指通过父类或接口的引用,调用子类的方法,不同子类实例可以具有不同的行为。多态可以提高代码的灵活性和可扩展性。
-
Python中常用的数据结构? 包括列表(list)、元组(tuple)、集合(set)和字典(dict)等。其中,列表和元组是有序的数据结构,集合是无序的数据结构,字典是键值对的数据结构。
-
列表和元组的区别:
- 列表是可变的(mutable),可以通过索引修改、添加、删除元素;而元组是不可变的(immutable),一旦创建就不能修改。
- 列表使用方括号([])来表示,元素之间用逗号分隔;元组使用圆括号(())来表示,元素之间也用逗号分隔。
- 列表适合存储有序的集合,元组适合作为不可变的数据记录。
-
遍历字典的方法: 遍历字典可以使用for循环,通过遍历字典的键或键值对来访问字典的元素。
-
遍历键:使用字典的keys()方法获取所有键,然后通过for循环遍历键,再通过键访问对应的值。
for key in my_dict.keys(): print(key, my_dict[key]) -
遍历键值对:直接使用for循环遍历字典的items()方法返回的键值对元组。
for key, value in my_dict.items(): print(key, value)
-
-
深拷贝和浅拷贝: 深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是在复制对象时可能遇到的概念。
浅拷贝只复制对象的引用,如果对象中包含可变对象(如列表、字典等),则复制后的对象仍然与原对象共享这些可变对象。浅拷贝可以使用copy模块的copy()方法实现。
import copy list1 = [1, 2, [3, 4]] list2 = copy.copy(list1) # 浅拷贝 list1[2][0] = 5 print(list1) # [1, 2, [5, 4]] print(list2) # [1, 2, [5, 4]]深拷贝会递归地复制对象及其包含的所有可变对象,新对象与原对象完全独立。深拷贝可以使用copy模块的deepcopy()方法实现。
import copy list1 = [1, 2, [3, 4]] list2 = copy.deepcopy(list1) # 深拷贝 list1[2][0] = 5 print(list1) # [1, 2, [5, 4]] print(list2) # [1, 2, [3, 4]]在实际应用中,根据需要选择浅拷贝还是深拷贝来确保程序的正确性和效率。
总结
难度:3.5/5,都是常见面试题
面试官专业程度:专业,但是小姐姐顺着我简历上的链接,把我之前的文章全看了,还问我是不是来刷经验的。。
体验打分:3.5/5,除了英文自我介绍,hr也没提前通知我,没准备成尬聊了
后半段见下篇博客
好了,以上就是本文的全部内容,如有问题可留言讨论。
本人正在组建校招测试开发方向的交流社区,如果您对测试求职方面感兴趣,欢迎加入了解。
我是chowley,一个专注互联网技术和产品质量保障领域的博主,我们下次再见!
欢迎点赞、评论、收藏,it's important for me.
Searching for QALog.
#软件开发2024笔面经##测试开发##春招##面试#记录了chowley在24校招的技术面试全过程

