> 技术文档 > HR面试试题

HR面试试题


1.技术面试题

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

**答:TCP 通过复杂机制确保数据准确传输,适合对完整性要求高的场景; UDP 以最小开销换取传输速度,适合对延迟敏感的实时应用。
实际应用中,开发者会根据业务需求选择合适的协议,或在 UDP 之上自行实现可靠性逻辑 (如游戏中的自定义重传机制)。

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

**答:DHCP:让设备 “有网可用”(分配网络身份);自动为设备分配 IP 地址、子网掩码、默认网关、DNS 服务器地址等网络配置参数。

DNS:让设备 “知道去哪”(翻译目标地址);将人类可读的域名(如www.baidu.com)翻译成计算机能理解的 IP 地址(如14.215.177.38)。

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

**答:/boot的作用是存储系统启动所需的文件,包括内核(vmlinuz)、初始 RAM 磁盘(initrd)和引导加载程序(如 GRUB)的配置。

/var的作用是存储经常变化的数据,如日志、缓存、邮件、数据库文件等。

/usr的作用是存储用户级应用程序和共享数据,类似 Windows 的Program Files。

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

**答:1.网关配置错误 排查步骤:检查网关配置,测试网关连通性,修复网关。

2.DNS解析故障 排查步骤:检查DNS配置,测试DNS解析,临时修改DNS。

3.防火墙限制 排查步骤:检查防火墙状态,临时关闭防火墙测试,开放必要端口。

4.网络借口或驱动问题 排查步骤:检查网卡状态,重启网卡,检查驱动。

5.外网连接中断或ISP问题: 排查步骤:测试外部连通性,检查路由器状态,联系ISP。

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

**答: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

**答:A

(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 条件错误

**答:D

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

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

A. True

B. False

C. 语法错误

D. 无输出

**答:A

(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 的动态类型特性让代码更灵活,但需通过测试和类型检查(如 isinstance())确保类型安全。这是 Python 作为脚本语言的核心优势之一,尤其适合快速迭代的开发场景。

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

**答:纯数字字符串可直接用 int() 转换;含非数字字符时会触发异常,需通过类型检查或正则预处理;字符串 “12a3” 中的 ‘a’ 不是数字,因此转换会失败,抛出 ValueError 异常

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

********答:动态类型(Python)的优缺点
优点:开发效率高
灵活性强
代码简洁
缺点:
运行时错误风险
可维护性挑战
性能开销
静态类型(Java)的优缺点:
优点:编译时类型检查
代码可维护性高
性能优化
缺点:
开发效率低
灵活性差
学习曲线陡
**(4)简述 input() 函数和 eval() 函数的区别,并举例说明它们的应用场景。**区别:input():功能上接收用户输入,返回字符串类型。仅获取输入不执行代码(安全)
eval():功能上执行字符串中的Python表达式并返回结果。可能会执行危险代码(危险)

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

**答:== 运算符比较的是对象的值是否相等,它通过调用对象的 eq () 方法来实现,主要用于判断值相等性
is 运算符比较的是对象的内存地址是否相同,它直接比较对象的 id() 值,主要用于判断是否为同一个对象
整数缓存池外的数值比较
Python 对小整数(默认 -5~256)会缓存,超出此范围的整数会创建新对象

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

**答:1. and

  • 规则:所有操作数为True才返回True,否则返回第一个False值
  • 示例:2 and 0 and 3 → 0;“a” and “b” → “b”
  1. or
  • 规则:有一个操作数为True就返回True,否则返回最后一个False值
  • 示例:0 or [] or 5 → 5;“” or None → None
  1. not
  • 规则:对单个操作数取反,返回布尔值
  • 示例:not 0 → True;not “hello” → False

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

**答:使用 input() 函数获取用户输入的数字时,需通过 int() 函数将返回的字符串显式转换为整数类型,如果用户输入的内容无法转换为整数(如字母、符号、小数或空字符串),Python 会抛出 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语句,所以会每一个都检查并执行,x=5时x比3大条件为ture所以print输出x>3,也比4大print输出x>4,但是x=5不比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 mathx1,x2,x3,y1,y2,y3 = map(float,input().split())a = math.sqrt((x2-x3)**2 + (y2-y3)** 2)b = math.sqrt((x1-x3)**2 + (y1-y3)** 2)c = math.sqrt((x1-x2)**2 + (y1-y2)** 2)angle_a_rad = math.acos((a**2 - b**2 - c**2) / (-2 * b * c))angle_b_rad = math.acos((b**2 - a**2 - c**2) / (-2 * a * c))angle_c_rad = math.acos((c**2 - b**2 - a**2) / (-2 * a * b))angle_a = round(math.degrees(angle_a_rad), 2)angle_b = round(math.degrees(angle_b_rad), 2)angle_c = round(math.degrees(angle_c_rad), 2)print(angle_a)print(angle_b)print(angle_c)

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

题目描述

如有一个2×2的线程方程组:
ax+by=ecx+dy=fax+by=e \\\\cx+dy=fax+by=ecx+dy=f
你可以使用克莱姆法则解该线性方程:
x=ed−bfad−bc,y=af−ecad−bcx=\\frac{ed-bf}{ad-bc},y=\\frac{af-ec}{ad-bc}x=adbcedbf,y=adbcafec
其中 ad−bcad-bcadbc 为判别式,如果为零则输出无解

输入输出描述

输入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())D = a * d - b * cif D == 0: print(\"无解\")else: x = (e * d - b * f) / D y = (a * f - e * c) / D print(round(x,1)) print(round(y,1))