标签:架构 字节 对象 多态 面试 封装 拷贝 父类 ord
字节跳动测试开发工程师-产品研发和工程架构部职位面试被虐
面向对象语言的封装、继承和多态
Encapsulation 封装 是指抽象出类的属性(数据)和方法,给用户提供一个可以调用的接口,优点是:保护数据,防止对数据的破坏。
对于封装、继承、多态可以看这一篇
继承是指在现有类(父类和基类)的基础上建立新的类(子类、派生类)。
多态是指子类继承了父类的方法,但是对父类的方法重写。
浅拷贝和深拷贝
说一下我的理解:对于赋值引用(a赋值b),a,b指向同一个对象,a变b就变。
对于浅拷贝,a,b是独立的对象,但是它们的子对象还是指向同一个对象。
对于深拷贝,a,b完全拷贝了父对象及其子对象,两者完全独立。
赋值引用、深拷贝和浅拷贝请参考这一篇
类和对象
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。
对象是类的实例。
OSI七层模型、作用和每一层对应的协议
当python读入文件的时候发生了什么?
应该是操作系统的东西吧,这个没有整明白,希望好心人解答。
手撕代码
给定一个包含大写英文字母和数字的句子,找出这个句子所包含的最大的十六进制整数,返回这个整数的值。数据保证该整数在int表示范围内。
示例:
//输入
//"012345BZ16"
//输出
//1193051
//说明
//12345B对应十进制为1193051
// An highlighted block
// 调用包的解
import re
class Solution:
def solve(self, s):
regex=re.compile(r"[0-9a-fA-F]+")
ans=regex.findall(s)
m=-1
for i in ans:
if(int(i,16)>m):
m=int(i,16)
return m
s = Solution()
print(s.solve('012345BZ16'))
//不调用包的解
class Solution:
def solve(self, s):
m = []
z = 0
for i in s:
if ord(i) >= ord('0') and ord(i) <= ord('9'):
z = z*16 + ord(i) - 48
elif ord(i) >= ord('A') and ord(i) <= ord('F'):
z = z*16 + ord(i) - 55
else:
z = 0
m.append(z)
return max(m)
标签:架构,字节,对象,多态,面试,封装,拷贝,父类,ord 来源: https://blog.csdn.net/zsm9898/article/details/107025847
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。