当前位置: 首页 > backend >正文

python作业 1

1.技术面试题

(1)TCP与UDP的区别是什么?

答: TCP建立通信前有三次握手,结束通信后有四次挥手,数据传输的可靠性高但效率较低;UDP不需要三次握手就可传输数据,数据传输完成后也不需要四次挥手,数据传输的可靠性低但效率高

(2)DHCP和DNS的作用是什么?

答: DHCP的作用是自动为处于网络中的设备自动分配ip地址,避免手动分配所出现的问题;DNS的作用是将利于人类记忆的网站域名转换为计算机可识别的IP地址

(3)简述 Linux 文件系统的目录结构,其中/boot、/var、/usr目录的作用分别是什么?

答: linux采用的是层级式目录结构,所有的文件和目录都挂在根目录/下,各个目录有各不相同的功能
/boot目录的作用是启动相关文件(内核,引导加载程序)
/var的作用是管理可变数据(日志、缓存、邮件队列)
/usr的作用是管理用户程序和文件(只读或很少修改)

(4)Linux系统突然无法访问外网,但内网通信正常。请列出至少 5 个可能的故障点及排查步骤。

**答:**1.网关配置错误:默认网关设置错误、网关设备故障或网关不可达
排查方法: 1.检查默认网关配置 ip route show
2.ping 网关测试连通性 ping -c 网关
若ping不通,检查网关设备接口是否正常工作(比如说路由器接口有没有松动,设备是否断电)

2.DNS 解析故障:DNS 服务器配置错误、DNS 服务器不可用或域名被污染。
排查方法:
1.检查 DNS 配置文件: cat /etc/resolv.conf
2.测试 DNS 服务器连通性:ping -c DNS服务器IP
3.用ip访问外网:ping -c 8.8.8.8
若ip能访问,说明不是DNS的问题

3.网络接口或驱动问题:网卡物理连接松动、驱动损坏或网卡硬件故障。
排查方法:
1.检查网卡状态:ip link show
2.确认物理接口是否接入状态良好(有没有松动等问题),网卡指示灯是否闪烁
3.重启网络服务或网卡:
sudo systemctl restart network-manager(重启网络服务)
sudo systemctl restart network(重启网卡)
4.更新网卡驱动:sudo apt update && sudo apt upgrade

4.IP 地址冲突或 DHCP 问题:IP 地址与内网其他设备冲突、DHCP 租约过期或分配失败
检查方法:
1.检查 IP 地址和 MAC 地址:ip addr show
2.释放并重新获取 IP(DHCP 场景):
sudo dhclient -r(释放当前ip)
sudo dhclient(重新获取ip)

5.手动配置 IP 测试
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip route add default via 192.168.1.1

5.防火墙或安全组限制:系统防火墙(如 iptables、firewalld)或外部安全组阻止外网访问
检查方法:
1.检查系统防火墙状态:sudo ufw status
2.临时关闭防火墙测试:sudo ufw disabl
若关闭后能访问外网,说明防火墙规则有误,需放行相关端口(如 TCP/UDP 53 用于 DNS)
3.检查云服务器安全组规则:若在云环境中,登录控制台检查安全组是否允许出站流量

2.HR面试题

(1)假如你成功入职,却发现直属领导能力远不如你,你会如何与他共事?

答: 我认为尽管在工作能力上领导不如我,领导依然有他的过人之处.在工作中,我会积极与领导沟通,服从领导的指示,将工作和团队放在首位,为公司尽上自己的力量

(2)你简历上的经历并不突出,我们为什么要选你?

**答:**虽然我的经历并没有那么出彩,但是我对于贵公司的这份职业有着很高的期冀与热情.假若我能拿到贵公司的offer,我会在工作的过程中虚心向同事学习, 服从上级领导的安排,努力成为对团队,对公司有贡献的员工

(3)你还面试了哪些公司?

答: 在面试贵公司之前,我还面试了xx公司和xx公司等,但上述公司的薪资待遇等不是让我很满意,而此次贵公司的面试使我得到了一个满意的答案

(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

答: b

(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. 无输出

答: a

(9)以下代码是否存在错误?

A = 10  
if A > 5:  print("Big")  
elif A < 5:  print("Small")  
else  print("Medium")  

A. 无错误

B. 缩进错误

C. else 后缺少冒号

D. elif 条件错误

答: c

(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 的动态类型特性?举例说明。

答:

python的动态类型特性指的是变量类型在运行时自动确定,无需提前声明,且同一变量可以在不同时刻指向不同类型的对象。
举例:
x=10086 (此时的x是整数)
x=“hello” (此时的x是字符串)
x=[1,3,5,7,9] (此时的x是列表)

(2)如何将字符串 “123” 转换为整数?如果字符串为 “12a3” 会发生什么?

答: 可以使用int这个函数将字符串转化为整数,如果字符串了多了一个a,那会转换失败

(3)比较 Python 中的动态类型与静态类型语言(如 Java)的优缺点。

答:
动态类型语言:
优点:开发效率高,灵活性强,代码简洁
缺点:代码可维护性低,容错率低,发现问题难以解决

静态类型语言:
优点:可提前发现错误,代码可维护性高,性能更高
缺点:开发效率低,灵活性差,学习过程难

(4)简述 input() 函数和 eval() 函数的区别,并举例说明它们的应用场景。

答:
两个函数的区别在于input函数只负责接收输入内容,不负责解析输入的python语法,eval函数会解析并执行输入的python的语法函数
举例:
input(“1+2+3”) 输出结果为1+2+3
eval(“1+2+3”) 输出结果为6

(5)比较 == 运算符和 is 运算符的区别,并举例说明在什么情况下结果会不同。

答:
两个运算符的区别在于比较对象的不同,==运算符比的是值是否相等,is运算符比的是是否为同一对象

举例:
a=[1,2,3]
b=[1,2,3]
print(a==b) 结果为true print(a is b) 结果为false

a=[1,2,3]
b=a
print(a==b) 结果为false print(a is b) 结果为true

(6)逻辑运算符 and、or、not 的运算规则是什么?请分别举例说明。

答: and的运算规则
1.当所有操作数的 “真值” 均为 True 时,返回最后一个操作数的真值;
2.只要有一个操作数的 “真值” 为 False,返回第一个为 False 的操作数的真值;

print(5 and 10) # 10(5和10均为真,返回最后一个值)
print(0 and 10) # 0(0为假,返回第一个假值)
print(“hello” and “”) # “”(""为假,返回第一个假值)

or的运算规则:
只要有一个操作数的 “真值” 为 True,返回第一个为 True 的操作数的真值;
所有操作数的 “真值” 均为 False 时,返回最后一个操作数的真值;

print(0 or 10) # 10(0为假,10为真,返回第一个真值)
print(“hello” or 10) # “hello”(第一个为真,直接返回,不计算第二个)
print(“” or []) # [](全假,返回最后一个假值)

not的运算规则:
对单个操作数的 “真值” 取反,返回 True 或 False;
若操作数为 “真”(非零、非空等),返回 False;若为 “假”(0、空、None 等),返回 True。

print(not 0) # True(0为假,取反为真)
print(not 5) # False(5为真,取反为假)
print(not “”) # True(空字符串为假,取反为真)
print(not [1, 2]) # False(非空列表为真,取反为假)
print(not None) # True(None为假,取反为真)

(7)当使用 input() 函数获取用户输入的数字时,如何将其转换为整数类型?如果用户输入的不是数字,会发生什么?

答: input函数将用户输入的数字(字符串)转换为整数的方法:
user_input = input(“数字”)
num = int(user_input)
print(f"输入的数字是:{num},类型为:{type(num)}")
如果用户输入的不是数字,会发生报错

(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
原因:
输入值x=5,符合第一个条件 x>3,执行并进入下一个条件
第二个条件为x>4,符合,执行并进入下一个条件
第三个条件为x>5,不符合,不执行,且这是最后一个条件,结束并输出结果

(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((aabbcc)/(2bc))B=acos((bbaacc)/(2ac))C=acos((ccbbaa)/(2ab))
其中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# 输入坐标:1 2 3 3 2 1
x1, y1, x2, y2, x3, y3 = map(float, input().split())# 计算三条边的长度
a = math.hypot(x2 - x3, y2 - y3)  # 边 a 对应顶点 (1, 2) 的对边
b = math.hypot(x1 - x3, y1 - y3)  # 边 b 对应顶点 (3, 3) 的对边
c = math.hypot(x1 - x2, y1 - y2)  # 边 c 对应顶点 (2, 1) 的对边# 计算三个角的弧度值
A_rad = math.acos((a*a - b*b - c*c) / (-2 * b * c))
B_rad = math.acos((b*b - a*a - c*c) / (-2 * a * c))
C_rad = math.acos((c*c - b*b - a*a) / (-2 * a * b))# 将弧度转换为角度
A_deg = math.degrees(A_rad)
B_deg = math.degrees(B_rad)
C_deg = math.degrees(C_rad)# 输出结果,保留两位小数
print("{0:.2f}".format(A_deg))
print("{0:.2f}".format(B_deg))
print("{0:.2f}".format(C_deg))**10)编写代码,解2×2线程方程****题目描述**如有一个2×2的线程方程组:
$$
ax+by=e \\
cx+dy=f
$$
你可以使用克莱姆法则解该线性方程:
$$
x=\frac{ed-bf}{ad-bc},y=\frac{af-ec}{ad-bc}
$$
其中 $ad-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
>
> 输出:
>
> 无解**答:**```python
#在此写入你的代码
# 读取输入的六个数据
a, b, c, d, e, f = map(float, input().split())# 计算判别式
discriminant = a * d - b * cif discriminant == 0:print("无解")
else:# 计算x和y的值x = (e * d - b * f) / discriminanty = (a * f - e * c) / discriminant# 保留一位小数输出print("{0:.1f}".format(x))print("{0:.1f}".format(y))
http://www.xdnf.cn/news/15017.html

相关文章:

  • 如何通过配置gitee实现Claude Code的版本管理
  • 网络请求与现实生活:用办理业务类比理解HTTP通信
  • Linux 测开:日志分析 + 定位 Bug
  • Android-重学kotlin(协程基础)新学习总结
  • 安卓10.0系统修改定制化____修改ROM 实现自动开启USB 安装选项
  • UI前端与数字孪生融合新领域拓展:智慧教育的虚拟实验室建设
  • UI前端大数据处理性能评估与优化:基于负载测试的数据处理能力分析
  • Python管理咨询数据可视化实战:收入分布与顾问利用率双轴对比图表生成脚本
  • Amazon S3 对象存储服务深度解析:存储原理、应用场景与实战指南
  • 力扣网编程150题:加油站(贪心解法)
  • 第四节 chatPDF
  • Java-----韩顺平单例设计模式学习笔记
  • Ubuntu防火墙缺失问题(unit firewalld.service could not be found, ubuntu 22)
  • 小赛安全智脑×动态MCP Server:让组件API对接像搭积木一样简单
  • 闲庭信步使用图像验证平台加速FPGA的开发:第七课——获取RAW图像
  • 首批|美创智能数据安全分类分级平台获CCIA“网络安全新产品”
  • 聚铭安全管家平台2.0实战解码 | 安服篇(二):无人值守自动化封禁
  • Docker 高级管理--容器通信技术与数据持久化
  • HUAWEI HiCar6.0的新变化
  • Git 详解:从概念,常用命令,版本回退到工作流
  • 多信息流展示利器 - 利用FeedCard优化企业通知与公告发布
  • 征程 6|工具链量化简介与代码实操
  • 基于Java+SpringBoot 协同过滤算法私人诊所管理系统
  • STM32第十八天 ESP8266-01S和电脑实现串口通信
  • SpringAI学习笔记-MCP客户端简单示例
  • OSPFv3和v2区别(续)
  • SKUA-GOCAD入门教程-第九节 面的创建与编辑1
  • RISC-V:开源芯浪潮下的技术突围与职业新赛道 (一)为什么RISC-V是颠覆性创新?
  • 二刷(李宏毅深度学习,醍醐灌顶,长刷长爽)
  • QML事件处理:鼠标、拖拽与键盘事件