pythone相关内容一
1.技术面试题
(1)TCP与UDP的区别是什么?
答:
连接方式:tcp需要三次握手才能建立起连接;udp不用连接直接发送
可靠性:如果你要保证数据的质量tcp会比udp传送质量更加稳定
传输效率:tcp开销大,效率低。udp开销小,实用性强
应用场景:tcp适用于文件传输,而udp适用于视频,游戏等实时性场景
传输形式:tcp是通过字节流进行传输,而udp是通过数据报方式进行传输
(2)DHCP和DNS的作用是什么?
答:
DHCP是自动分配ip地址和网络配置;DNS是担任翻译的角色,它将域名翻译为ip地址,它还有负载均衡的作用,可以让一个域名可以对应多个ip
(3)简述 Linux 文件系统的目录结构,其中/boot、/var、/usr目录的作用分别是什么?
答:
/boot:存放系统启动所需要的核心文件,包括内核(vmlinuz)、初始化RAM磁盘(initrd)和引导加载程序配置
/var:存储动态变化数据。如日志问价、邮件队列、临时文件和数据库文件。
/usr:用于存放用户程序和共享资源,类似windows的program files
(4)Linux系统突然无法访问外网,但内网通信正常。请列出至少 5 个可能的故障点及排查步骤。
答:
1、网关问题
检查:route -n 查看默认网关,ping 网关IP 测试连通性。
修复:若不通,重启路由器或手动添加路由 ip route add default via 网关IP。
2、DNS 故障
检查:cat /etc/resolv.conf 查看 DNS 配置,ping 8.8.8.8 测试外网连通性。
修复:临时修改 DNS echo “nameserver 8.8.8.8” > /etc/resolv.conf。
3、防火墙限制
检查:sudo ufw status(Ubuntu)或 sudo firewall-cmd --state(CentOS)。
修复:临时关闭防火墙 sudo ufw disable 或 sudo systemctl stop firewalld。
4、路由表异常
检查:ip route show 确认默认路由存在。
修复:添加默认路由 sudo ip route add default via 网关IP dev 网卡名。
5、网卡 / 驱动故障
检查:ip link show 查看网卡状态,ping 内网IP 测试内网连通性。
修复:重启网卡 sudo ip link set 网卡名 down && sudo ip link set 网卡名 up
2.HR面试题
(1)假如你成功入职,却发现直属领导能力远不如你,你会如何与他共事?
答: 和平相处,尊重领导,毕竟人都有不擅长和擅长的领域,领导这方面也许不如我,但是不代表其它方面不如我,所以我还是会选着在工作上尊重他
(2)你简历上的经历并不突出,我们为什么要选你?
答: 我的经历相比其他人是不咋突出,但是我具有关于工作相关内容的知识储备,在当今和我一样的也许也不少,但是在工作上没有什么是一帆风顺的,一切都是一步一个一个脚印走过来的,就像是我在大学期间组织一些活动一样,在运动会上有些团体项目运动员没来,这个项目你人不起又不能进行,所以我就安排一些空余的工作人员顶上去。我清楚在工作岗位上需要踏实做事,面对问题时也要冷静处理。所以选我,我会认真对待每份任务,用成功证明自己。
(3)你还面试了哪些公司?
**答:**目前我面试了几家同行业公司,经过深入了解与对比,贵公司最让我心动。一方面,贵公司在技术研发上沉淀深厚,持续创新突破,能让我接触到行业前沿实践场景,获得快速成长;另一方面,开放协作的工作氛围十分吸引我,从沟通中能感受到团队间的积极互动与对人才的包容支持。比起其他机会,我更渴望加入贵公司,将自身专业能力融入团队,与大家并肩奋进,在助力公司发展的同时,实现个人职业价值的提升 。
(4)如果你发现公司某项业务存在合规风险,但领导暗示‘别多管闲事’,你会怎么做?
**答:**首先我会再回去多次检查,是否真的和我发现的一样有合规风险,确认无误后,去私下去跟领导讲这个业务会存在啥风险和问题,若沟通后领导仍不重视,悄悄留存业务相关文档、沟通记录等,保护自己.若风险可能触犯法律或严重损害公司长期利益,必要时,依据公司合规举报渠道,向上级部门或外部监管机构反映
3.选择题
(1)以下哪个是合法的 Python 变量名?
A. 2var
B. _var
C. var@1
D. var-1
答: B
(2)表达式 True + 2
的结果是?
A.True
B. 3
C. 2
D. TypeError
答: A
(3)以下哪个表达式会引发错误?
A."1" + "2"
B. [1, 2] + [3, 4]
C. (1, 2) + (3, 4)
D. {1, 2} + {3, 4}
**答:**D
(4)以下哪个是将字符串转换为整数的正确方法?
A. str(5)
B. int("5")
C. float("5")
D. bool("5")
答: B
(5)执行 print("Hello", "World", sep='-', end='!')
后,输出结果是?
A .Hello World
B. Hello-World
C. Hello-World!
D. Hello World!
答: C
(6)以下哪个运算符用于判断两个对象是否是同一个对象(内存地址相同)?
A. ==
B. !=
C. is
D. in
答: C
(7)执行 print(f"The result is {2 + 3}") ,输出结果是?
A. The result is {2 + 3}
B. The result is 5
C. The result is 2 + 3
D. 语法错误
答: B
(8)以下代码的输出结果是?
x = 5
if x > 3: print("A")
elif x > 4: print("B")
else: print("C")
A. A
B. B
C. C
D. 无输出
答: C
(9)以下代码是否存在错误?
A = 10
if A > 5: print("Big")
elif A < 5: print("Small")
else print("Medium")
A. 无错误
B. 缩进错误
C. else
后缺少冒号
D. elif
条件错误
答: D
(10)以下代码的输出结果是?
x = 0
if x: print("True")
else: print("False")
A. True
B. False
C. 语法错误
D. 无输出
答: B
(11)以下代码的输出结果是?
A = 10
B = 20
if A > 5 and B < 15: print("条件1")
elif A > 8 or B > 18: print("条件2")
else: print("条件3")
A. 条件 1
B. 条件 2
C. 条件 3
D. 无输出
答: B
(12)以下代码的输出结果是?
A = 5
B = 10
if A > 3 or B / 0 > 0: print("A")
else: print("B")
A. A
B. B
C. 语法错误
D. 运行时错误
答: A
4.问答题
(1)什么是 Python 的动态类型特性?举例说明。
答: 动态类型指变量类型无需声明,赋值即确定,且可随时改变类型
例:
a = 5 #a是int 类型
a = "hello" #这里不用给a重新转化,就可以让hello赋值给a,让a变成str类型
(2)如何将字符串 “123” 转换为整数?如果字符串为 “12a3” 会发生什么?
答: 第一个用int()对这个字符串进行转换。如果用“12a3”会报错,这个错误原因是含非数字字符
(3)比较 Python 中的动态类型与静态类型语言(如 Java)的优缺点。
答: 类型声明:python,它无需声明,更加的灵活快捷
java,它需要提前声明,更加严谨规范
开发效率:python编码快,迭代更灵活,而java编码慢,结构清晰
运行错误:python类型错误容易在运行时暴露
java在编译期间可发现类型错误
python的性能没有java的性能高
(4)简述 input() 函数和 eval() 函数的区别,并举例说明它们的应用场景。
答:
input():获取用户输入的字符串。
name = input("请输入姓名:")
eval():执行字符串中的 Python 表达式(慎用,有安全风险) 。
result = eval("2 + 3 * 4") ,结果为 14 。
(5)比较 == 运算符和 is 运算符的区别,并举例说明在什么情况下结果会不同。
答: ==:比较值是否相等;
is:比较对象是否为同一实例(内存地址相同 )
例子:
a = [1,2]
b = [1,2]
print(a == b) # True(值相等)
print(a is b) # False(值是相同的,但是内存地址不同)
(6)逻辑运算符 and、or、not 的运算规则是什么?请分别举例说明。
答: and:逻辑与,需要都为真才会是真
例子:True and False → Fals
or:逻辑或,只有条件满足一条为真,那么这个结果就是真
例:False or True → True
not:逻辑非,取反
例:not True→ False
(7)当使用 input() 函数获取用户输入的数字时,如何将其转换为整数类型?如果用户输入的不是数字,会发生什么?
答: 用 int(input()) 转换,如 num = int(input(“输入数字:”)) ;若输入非数字,会抛出 ValueError
(8)阅读以下代码,解释输出结果并说明原因。
x = 5
if x > 3: print("X 大于3")
if x > 4: print("X 大于4")
if x > 5: print("X 大于5")
答: 输出结构会是 “X 大于3” 和 “X 大于4”
因为这个是if条件判断当满足if的条件时就会执行后面的打印结果
(9)编写代码,计算三角形的三个角
题目描述
输入三角形的三个顶点坐标,并计算该三角形的三个角分别是多少(角度制)
A=acos((a∗a−b∗b−c∗c)/(−2∗b∗c))B=acos((b∗b−a∗a−c∗c)/(−2∗a∗c))C=acos((c∗c−b∗b−a∗a)/(−2∗a∗b))
A=acos((a*a-b*b-c*c)/(-2*b*c)) \\
B=acos((b*b-a*a-c*c)/(-2*a*c)) \\
C=acos((c*c-b*b-a*a)/(-2*a*b)) \\
A=acos((a∗a−b∗b−c∗c)/(−2∗b∗c))B=acos((b∗b−a∗a−c∗c)/(−2∗a∗c))C=acos((c∗c−b∗b−a∗a)/(−2∗a∗b))
其中a、b、c分别表示三条边,A、B、C分别表示三边对应的角
输入输出描述
输入六个数据,分别表示三角形三个顶点的坐标x1、y1、x2、y2、x3和y3,数据之间用空格分隔
输出三行,分别为A、B、C三个角的度数,结果保留两位小数
示例
输入:
1 1 6.5 1 6.5 2.5
输出:
15.26
90.00
74.74
答:
import math
x1,y1,x2,y2,x3,y3=map(float,input().split())
a=((x2-x3)**2+(y2-y3)**2)**0.5
b=((x1-x3)**2+(y1-y3)**2)**0.5
c=((x1-x2)**2+(y1-y2)**2)**0.5
A = math.degrees(math.acos((b**2 + c**2 - a**2) / (2 * b * c)))
B = math.degrees(math.acos((a**2 + c**2 - b**2) / (2 * a * c)))
C = math.degrees(math.acos((a**2 + b**2 - c**2) / (2 * a * b)))
print(f"{A:.2f}")
print(f"{B:.2f}")
print(f"{C:.2f}")
(10)编写代码,解2×2线程方程
题目描述
如有一个2×2的线程方程组:
ax+by=ecx+dy=f
ax+by=e \\
cx+dy=f
ax+by=ecx+dy=f
你可以使用克莱姆法则解该线性方程:
x=ed−bfad−bc,y=af−ecad−bc
x=\frac{ed-bf}{ad-bc},y=\frac{af-ec}{ad-bc}
x=ad−bced−bf,y=ad−bcaf−ec
其中 ad−bcad-bcad−bc 为判别式,如果为零则输出无解
输入输出描述
输入a、b、c、d、e、f六个数据,数据之间用空格分隔
输出两行,第一行x的解,第二行y的解,保留一位小数
示例1
输入:
9.0 4.0 3.0 -5.0 -6.0 -21.0
输出:
-2.0
3.0
示例2
输入:
1.0 2.0 2.0 4.0 4.0 5.0
输出:
无解
答:
a,b,c,d,e,f=map(float,input().split())
flag=a*d-b*c
if flag==0:print("无解")
else:x = (e * d - b * f) / (a * d - b * c)y = (a * f - e * c) / (a * d - b * c)print(f"{x:.1f}")print(f"{y:.1f}")