20250704Python1

1.技术面试题

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

答:

  • TCP:面向连接、可靠传输(通过确认机制、重传策略)、提供有序数据传输、有流量控制和拥塞控制,适用于对可靠性要求高的场景(如 HTTP、SMTP)。
  • UDP:无连接、不可靠传输、不保证有序性,开销小、延迟低,适用于实时性要求高的场景(如视频流、DNS)。

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

答:

  • DHCP(动态主机配置协议):自动分配 IP 地址、子网掩码、网关等网络配置参数,减少手动配置工作量。
  • DNS(域名系统):将域名(如www.example.com)解析为 IP 地址,实现域名到 IP 的映射。

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

答:

  • /boot:存放系统启动所需的文件(如内核、引导加载程序)。
  • /var:存储可变数据(如日志文件、邮件队列、数据库文件)。
  • /usr:存放用户程序和文件(如应用程序、库文件、文档),类似 Windows 的 Program Files。

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

答:

  1. 网关配置错误:检查默认网关设置(route -n)。
  2. DNS 故障:测试域名解析(ping www.google.com 失败但 ping 8.8.8.8 成功),检查 /etc/resolv.conf
  3. 防火墙规则:检查防火墙是否阻止外网访问(如 iptables -L)。
  4. 网卡驱动或物理连接:检查网卡状态(ifconfig/ip addr)和网线连接。
  5. ISP 问题:联系运营商确认网络服务是否正常。

 2.HR面试题

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

答:

  • 尊重与沟通:保持专业态度,通过正式渠道提出建议,避免直接质疑领导权威。
  • 支持与协作:用具体成果证明价值,主动承担任务,辅助领导达成目标。
  • 学习视角:发掘领导其他优势(如资源整合、沟通能力),调整自身预期。

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

答:

  • 潜力与态度:强调学习能力、解决问题的思维方式,举例说明快速掌握新技能的经历。
  • 匹配度:结合岗位需求,阐述自身特质(如执行力、细节把控)与职位的契合点。
  • 增值点:提出对公司业务的见解,或展示与团队互补的技能(如跨领域知识)。

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

答:

  • 诚实且聚焦:提及同行业或互补领域的公司,突出对该岗位的兴趣。
    示例:“我也在接触几家互联网企业,但贵公司在 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(PS:不支持整数类型和布尔类型)

(4)以下哪个是将字符串转换为整数的正确方法?

A. `str(5)`

B. `int("5")`

C. `float("5")`

D. `bool("5")`

答:B(PS:int函数就是可以将字符串,浮点数转换为整数类型“”中输入的是有效数字且符合整数要求)

(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)以下代码的输出结果是?

```python
x = 5  
if x > 3:  
    print("A")  
elif x > 4:  
    print("B")  
else:  
    print("C")  
```

A. A

B. B

C. C

D. 无输出

答: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(PS:else语句后必须加冒号)

(10)以下代码的输出结果是?

```python
x = 0  
if x:  
    print("True")  
else:  
    print("False")  
```

A. True

B. False

C. 语法错误

D. 无输出

答:B

(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

(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

4.问答题

1)什么是 Python 的动态类型特性?举例说明。

答:

Python 是动态类型语言,变量类型在运行时自动确定,无需预先声明。

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

答:使用 int("123") 转换为整数。若字符串含非数字字符(如 "12a3"),会引发 ValueError

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

答:

  • 动态类型(Python)
    • 优点:代码简洁、开发效率高。
    • 缺点:运行时可能出现类型错误,调试成本较高。
  • 静态类型(Java)
    • 优点:编译时检查类型错误,代码更可靠。
    • 缺点:需显式声明类型,代码冗长。

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

答:

  • input():获取用户输入的字符串。
    应用场景:读取用户名、密码等文本输入。
    示例:name = input("请输入姓名:")
  • eval():执行字符串表达式并返回结果。
    应用场景:计算数学表达式。
    示例:result = eval("3 + 5") # 返回 8

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

答:

  • ==:比较值是否相等。
  • is:比较对象引用是否相同(是否指向同一内存地址)。

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

答:

  • and:两侧均为真时返回真,否则返回假。
    示例:True and False → False
  • or:一侧为真则返回真,否则返回假。
    示例:True or False → True
  • not:取反。
    示例:not True → False

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

答:使用 int(input()) 转换。若输入非数字(如 "abc"),会引发 ValueError

(8)阅读以下代码,解释输出结果并说明原因。

答:

```python
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语句都为ture,但是第三个不满足5大于5所以为False,则不会执行print

 ( PS:if语句是独立的,前一个满足后面的也会被检查(在此区分 if-elif-else结构语句))

(9)编写代码,计算三角形的三个角

答:

输入三角形的三个顶点坐标,并计算该三角形的三个角分别是多少(角度制)

其中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

**答:**```python
import math

x1,y1,x2,y2,x3,y3 = map(float, input().split(""))
a=((x1-x2)**2+(y1-y2)** 2)** 0.5
b=((x1-x3)**2+(y1-y3)** 2)** 0.5
C=((x2-x3)**2+(y2-y3)**2)** 0.5
cos=math.cos
A=a*cos((a*a-b*b-c*c)/(-2*b*c))
B=a*cos((b*b-a*a-c*c)/(-2*a*c))

C=a*cos((c*c-b*b-a*a)/(-2*a*b))
print(f"{A:.2f}")
print(f"{B:.2f}")
print(f"{c:.2f}")

(10)编写代码,解2×2线程方程

答:

如有一个2×2的线程方程组:

你可以使用克莱姆法则解该线性方程:

其中 $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(" “))
q=(ad-bc)
x=(ed-bf)/q
y=(af-ec)/q
if q==0:
print(“无解”)
else:
print(f”{x:.1f}“)
print(f”{y:.1f}")
 

你可能感兴趣的:(网络)