Python:
- is 和 == 的区别是什么?
"=="比较数值,is比较地址。
- 列表和元组有什么区别?元组适用于什么情况?
list 可变,tuple不可变。
元组适用于数据长久固定,不需要修改的场景。
元组可以作为字典的key, 列表无法充当Key,(不可变才可哈希)
- 装饰器是什么?
装饰器本质:接受函数为参数,返回一个新函数。可以在不修改原函数源码、不改变函数调用方式的情况下,动态给函数新增额外功能。
- 有没有用过 pytest 框架?
pytest是Python主流的单元测试框架。
- Python如何调Shell?
os.system() 仅执行命令,无法获取输出
os.popen() 可以接收命令返回结果
os.subprocess().run() 支持获取标准输出,标准错误,管道交互。
- python字符串怎么反转?
s[::-1]
''.join(reverse(s))
- python怎么调父类的方法?
super().func()
- python的类方法, 实例方法和静态方法?
实例方法只能实例对象调用。类方法,静态方法,类和实例对象都能调用。
Git:
- git merge 和 git rebase 的区别?
git merge 是合并两个分支,会产生一个合并节点。
git rebase 是把当前分支的提交,平移追加到目标分支顶端,不会产生多余的合并节点。
Docker/K8S
- Docker file 指令?
FROM
WORKDIR
COPY/ADD
RUN
ENV
EXPOSE
- COPY ADD 区别?
COPY只复制文件。 ADD包含COPY全部功能,还能解压压缩包,远程URL下载。
- 如何给docker镜像瘦身?
减少镜像层数,选用轻量基础镜像,剔除冗余资源。