1.技术面试题
(1)TCP与UDP的区别是什么?
答: TCP面向连接,速度慢,可靠传输,20字节头;UDP:无连接,速度快,不可靠传输,8字节头
(2)DHCP和DNS的作用是什么?
答: DHCP名为动态主机配置协议,给客户端设备自动分配IP地址、子网掩码、默认网关和DNS服务器等网络配置信息;DNS名为域名解析协议,将人类可读的域名(如:百度)转换为机器可识别的IP地址(如:157.148.69.151)
(3)简述 Linux 文件系统的目录结构,其中/boot、/var、/usr目录的作用分别是什么?
答: Linux 文件系统采用层级目录结构,主要目录及其核心作用有:
/:根目录,所有其他目录的父目录。
/bin:存放系统基本命令二进制文件(如 ls, cp)。
/etc:系统配置文件存放位置。
/home:普通用户的家目录。
/lib:系统库文件(如动态链接库)。
/dev:设备文件(如硬盘、键盘)。
/proc:虚拟文件系统,反映内核和进程信息。
/tmp:临时文件目录。
其中:/boot:存放与系统启动相关的核心文件。
/var:存放频繁变化的可变数据。
/usr:存放用户级应用程序和静态数据。
(4)Linux系统突然无法访问外网,但内网通信正常。请列出至少 5 个可能的故障点及排查步骤。
答: 1. DNS解析问题
2. 默认网关配置错误
3. 防火墙规则阻止
4. 代理设置问题
5. 网络接口配置问题
2.HR面试题
(1)假如你成功入职,却发现直属领导能力远不如你,你会如何与他共事?
答: 首先,我认为团队的成功从来不是依靠单个人的能力,而是取决于成员间的互补与协作,而且领导的职位必然有他的优势,比如行业经验、资源整合或跨部门协调能力,这些可能是我尚未看到的,我会先虚心学习他的长处,而作为下属,我的职责是执行团队目标并支持领导决策,而非比较能力高低。我会通过高效完成本职工作,在职责范围内提出建设性建议,最后,如果我对某些工作有更优方案,会私下用数据和案例向领导客观分析,最终尊重他的决策权。毕竟,领导需要全局视角,而我的建议可能只是局部最优解。
(2)你简历上的经历并不突出,我们为什么要选你?
答: 您说得对,我的简历可能没有特别亮眼的头衔或项目,但比起经验丰富的人,我的优势是更愿意从基础做起,用执行力弥补经验差距,并且能为团队带来新的视角。
(3)你还面试了哪些公司?
答: 确实接触过几家公司,但我更看重平台的发展空间和团队专业度。贵公司在某方面的布局和我长期职业规划高度契合,所以这是我优先考虑的机会。
(4)如果你发现公司某项业务存在合规风险,但领导暗示‘别多管闲事’,你会怎么做?
答: 风险较小时,我会再次确认风险的具体影响,确保自己理解正确。如果确实存在问题,我会私下向领导提供数据或案例(如行业处罚先例),说明潜在风险,并建议最小成本的调整方案。我相信领导最终会权衡利弊,做出对公司最有利的决定
风险较大时,我会在尊重领导的前提下,通过公司内部合规渠道(如风控部门、合规热线)匿名反馈,确保问题被专业评估。我的原则是:既要对公司负责,也要避免个人或团队陷入风险。
假如风险极高(如违法行为),而沟通无果,我会参考公司职业道德规范或外部监管要求,决定是否向上级或合规部门正式报告。同时,我会保留相关沟通记录,保护自己的职业操守。
3.选择题
(1)以下哪个是合法的 Python 变量名?
A. 2var
B. _var
C. var@1
D. var-1
答: D
(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}
答: A
(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 条件错误
答: 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 = 10 # x 是整数类型
x = “hello” # x 变为字符串类型
x = [1, 2] # x 变为列表类型
(2)如何将字符串 “123” 转换为整数?如果字符串为 “12a3” 会发生什么?
答: 使用内置的 int() 函数可以直接将字符串转换为整数,如:int(“123”)。前提是字符串必须完全由数字组成,否则会抛出异常。如果字符串包含非数字字符(如“12a3”),直接调用 int() 会引发 ValueError 异常。
(3)比较 Python 中的动态类型与静态类型语言(如 Java)的优缺点。
答: 动态类型语言(如 Python)允许变量在运行时改变类型,无需预先声明类型。这种灵活性使得代码更简洁,适合快速开发和原型设计。
静态类型语言(如 Java)要求变量类型在编译时确定,类型检查在编译阶段完成。这种约束提高了代码的可预测性,但灵活性较低。
Python 适合快速迭代、数据科学、脚本任务。
Java 适合大型系统、高性能应用、企业级开发。
(4)简述 input() 函数和 eval() 函数的区别,并举例说明它们的应用场景。
答: input() 固定返回字符串。
eval() 根据表达式返回对应类型(如整数、列表等)。
处理逻辑
input() 仅接收原始输入,不解析内容。
eval() 会执行字符串中的代码逻辑,如 eval(“len(‘abc’)”) 返回 3。
安全性
input() 无代码执行风险。
eval() 需谨慎使用,避免直接解析用户输入(如 eval(“import(‘os’).system(‘rm *’)”) 可能导致灾难性后果)。
(5)比较 == 运算符和 is 运算符的区别,并举例说明在什么情况下结果会不同。
答: == 运算符用于比较两个对象的值是否相等。它会检查对象的内容或数据是否相同,而不关心它们是否指向同一个内存地址。
is 运算符用于比较两个对象的身份标识是否相同。它会检查两个对象是否指向内存中的同一个实例,即是否为同一个对象。
值相同但对象不同
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b) # True(值相同)
print(a is b) # False(不同对象)
(6)逻辑运算符 and、or、not 的运算规则是什么?请分别举例说明。
答: 逻辑与(and)要求两个操作数均为真时结果才为真,否则为假。如:True and True # 返回 True
True and False # 返回 False
False and True # 返回 False
False and False # 返回 False
逻辑或(or)只要有一个操作数为真,结果即为真;仅当两者均为假时才为假。如:True or True # 返回 True
True or False # 返回 True
False or True # 返回 True
False or False # 返回 False
逻辑非(not)对操作数取反,真变假,假变真。如:
not True # 返回 False
not False # 返回 True
优先级从高到低为:not > and > or。也可以用括号来改变
(7)当使用 input() 函数获取用户输入的数字时,如何将其转换为整数类型?如果用户输入的不是数字,会发生什么?
答: input() 返回的内容默认为字符串类型,直接调用 int() 会尝试将其解析为整数。如果字符串包含非数字字符(如字母或符号),会触发 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
说明:条件 x > 3:满足(5 > 3),输出 “X 大于3”。
条件 x > 4:满足(5 > 4),输出 “X 大于4”。
条件 x > 5:不满足(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((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("请输入3个坐标点,用空格隔开,如:X1 Y2...:").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)
# 计算角度
A = math.acos((b**2 + c**2 - a**2) / (2 * b * c)) * 180 / math.pi
B = math.acos((a**2 + c**2 - b**2) / (2 * a * c)) * 180 / math.pi
C = math.acos((a**2 + b**2 - c**2) / (2 * a * b)) * 180 / math.pi
# 输出结果
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(" "))
determinant = a * d - b * c
if determinant == 0:
print("无解")
else:
x = (e * d - b * f) / determinant
y = (a * f - e * c) / determinant
print(f"{x:.1f}")
print(f"{y:.1f}")
2304

被折叠的 条评论
为什么被折叠?



