# 1.技术面试题
**(1)TCP与UDP的区别是什么?**
**答:TCP 是 “可靠但较慢” 的协议,适合对数据完整性要求高的场景;UDP 是 “快速但不可靠” 的协议,适合对实时性要求高的场景。两者互补,共同支撑了互联网的多样化应用。
**(2)DHCP和DNS的作用是什么?**
**答:DHCP 的功能是自动为网络中的设备分配IP地址及其他网络配置信息,避免手动设置的繁琐和错误,实现网络设备的即插即用。DNS 的功能是将易记的域名转换为计算机能识别的IP地址,是互联网的 “地址簿”。
**(3)简述 Linux 文件系统的目录结构,其中/boot、/var、/usr目录的作用分别是什么?**
**答:/boot:系统启动的基石,包含内核和引导程序。/var:动态数据的仓库,记录系统运行状态和临时数据。/usr:用户应用的家园,存放软件和共享资源。
**(4)Linux系统突然无法访问外网,但内网通信正常。请列出至少 5 个可能的故障点及排查步骤。**
**答:1网关配置问题2DNS服务器解析出现异常,3防火墙规则阻止了对外网的访问,4NAT 配置错误 私有与共有地址的转换出现错误,5外网接口或服务器故障。
# 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`
**答: d #不是字符型,逻辑型加数值会出报错
**(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 #就int()是转换为整型
**(5)执行 `print("Hello", "World", sep='-', end='!') `后,输出结果是?**
A .Hello World
B. Hello-World
C. Hello-World!
D. Hello World!
**答: c #sep='-‘是使用 - 分隔参数,end=’!'是以 ! 结尾
**(6)以下哪个运算符用于判断两个对象是否是同一个对象(内存地址相同)?**
A. ==
B. !=
C. is
D. in
**答:c # ==运算符是比较值是否相同 ,!=是不相等,is是两个对象是否为同一个实例即内存地址是否相同,in是判断 元素是否在 存在于容器中。
**(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 #使用了f-string格式 {}中的表达式被求值
**(8)以下代码的输出结果是?**
```python
x = 5
if x > 3:
print("A")
elif x > 4:
print("B")
else:
print("C")
```
A. A
B. B
C. C
D. 无输出
**答: A # x=5 在 if中x>3条件成立 输出 print(“A”)
**(9)以下代码是否存在错误?**
```python
A = 10
if A > 5:
print("Big")
elif A < 5:
print("Small")
else
print("Medium")
```
A. 无错误
B. 缩进错误
C. `else` 后缺少冒号
D. `elif` 条件错误
**答:c #else后必须要有 :
**(10)以下代码的输出结果是?**
```python
x = 0
if x:
print("True")
else:
print("False")
```
A. True
B. False
C. 语法错误
D. 无输出
**答:B #x的值为 0 if判断条件不成立 执行 else 输出print("False’)
**(11)以下代码的输出结果是?**
```python
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 #:第一个 if 中 B<15条件不成立 进入 elif中 A>8 or B>18 成立 输出 print(“条件2”)
**(12)以下代码的输出结果是?**
```python
A = 5
B = 10
if A > 3 or B / 0 > 0:
print("A")
else:
print("B")
```
A. A
B. B
C. 语法错误
D. 运行时错误
**答: D #if条件A>3 or B/0>0 中 0被当被除数了
**(1)什么是 Python 的动态类型特性?举例说明。**
**答:在 Python 中,动态类型是其核心特性之一,它允许变量在运行时被赋予不同类型的值,而无需在代码中预先声明变量的类型。
就像一个装液体的容器 ,你可以装酒,装饮料,装白开水,当它装不同东西时它的类型也会跟着一起改变。
**(2)如何将字符串 "123" 转换为整数?如果字符串为 "12a3" 会发生什么?**
**答: 直接使用 int(),就可以转换为整型。如果字符串为“12a3”的话 会抛出ValueError这个报错 ,应为int()只能处理纯数字字符。
处理过程如:a=int(“123”)
**(3)比较 Python 中的动态类型与静态类型语言(如 Java)的优缺点。**
**答:python中的动态类型 无需类型声明,变量类型由赋值所决定。优点是:代码简洁,开发效率高,适合动态场景。缺点:类型不匹配问题可能在运行时才暴露 会增加调试成本风险,代码可读性降低,代码可读性降低。
Java的静态类型语言必须显式声明变量类型。优点是:编译的时候就有错误检查,代码可维护性强,静态类型信息有助于编译器优化。缺点:代码冗长,灵活性较差,学习门槛较高。
**(4)简述 input() 函数和 eval() 函数的区别,并举例说明它们的应用场景。**
**答:** input()是用于读取用户输入的原始字符串,不做任何解析。应用场景为:接收字符串输入如:text=input(),手动的将输入的字符串转换为别的类型 如num=int(input())。
eval()将字符串作为 Python 表达式解析并执行,返回表达式的计算结果。应用场景为:计算表达式如eval(“1+2+3”) 结果为int 的6,
解析简单数据结构如:list=eval(“[1, 2, 3]”) 就是将字符串转换为列表 【1,2,3】
**(5)比较 == 运算符和 is 运算符的区别,并举例说明在什么情况下结果会不同。**
**答:==运算符比较的是两个对象的值 ,适用于需要比较值的场景。
is运算符比较两个对象是否为同一个实例,适用于需要判断对象身份的场景。
它俩在值相同在对象不同的场景下 前者返回True 后者返回false
**(6)逻辑运算符 and、or、not 的运算规则是什么?请分别举例说明。**
**答:and 的运算规则是 两边都为 真 返回结果才为真,若只要一边为假则都为假。如:print(True and True)#为真 其余都为假
or的运算规则是两边只要一边为真 返回结果就为真,若两边都为假 返回结果才为假。print(False and False)#为假 其余都为真
not的运算规则是对结果取反 真变假 假变真。 如:print(not True)#输出 False print(not False)#输出True
**(7)当使用 input() 函数获取用户输入的数字时,如何将其转换为整数类型?如果用户输入的不是数字,会发生什么?**
**答: 使用 int()函数 进行手动类型转换 如:num=int(input())。若格式 为 num=input()则会变成字符串存储 ,若这时还进行 int()转换 则会抛出ValueError 异常。
**(8)阅读以下代码,解释输出结果并说明原因。**
```python
x = 5
if x > 3:
print("X 大于3")
if x > 4:
print("X 大于4")
if x > 5:
print("X 大于5")
```
**答:三个if判断 输出结果为:
x大于3
x大于4
**(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、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=math.hypot(x3-x2,y3-y2)
b=math.hypot(x3-x1,y3-y1)
c=math.hypot(x2-x1,y2-y1)
A=math.degrees(math.acos((aa-bb-cc)//(-2bc)))
B=math.degrees(math.acos((bb-aa-cc)//(-2ac)))
C=math.degrees(math.acos((cc-aa-bb)//(-2a*b)))
print(f"A的角度为{A:.2F}B角度为{B:.2F}C的角度为{C:.2F}")
```python
# 在此写入你的代码
```
**(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
>
> 输出:
>
> 无解
**答:
a,b,c,d,e,f=map(float,input().split(" “))
if not(ad-bc):
print(“wujie”)
else:
x=(ed-bf)/(ad-bc)
y=(af-ec)/(ad-bc)
print(f"x的解为:{x:.2f}”)
print(f"y的解为:{y:.2f}"
```python
#在此写入你的代码
```