- 1
- 0
- 约7.64千字
- 约 24页
- 2026-02-26 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年数据工程师面试问题集与技能考核要点
一、编程与算法题(共5题,总分25分)
1.1Python编程基础(5分)
题目:请编写一个Python函数,实现以下功能:给定一个字符串列表,返回所有包含至少3个连续数字的字符串,并按数字出现的位置从早到晚排序。例如,输入`[abc123,hello456world,data2026,test]`,输出`[abc123,hello456world]`。
答案:
python
deffind_strings_with_consecutive_digits(strings):
result=[]
forsinstrings:
importre
ifre.search(r\d{3,},s):
result.append(s)
returnsorted(result,key=lambdax:min([m.start()forminre.finditer(r\d,x)]))
测试用例
test_strings=[abc123,hello456world,data2026,test]
print(find_strings_with_consecutive_digits(test_strings))
1.2Pandas数据处理(5分)
题目:假设有一个CSV文件`sales_2025.csv`,包含以下列:`date`(日期)、`region`(地区)、`product`(产品)、`sales`(销售额)。请编写Python代码,读取该文件,并返回以下统计结果:
1.按地区分组,计算每个地区的总销售额
2.找出销售额最高的前3个产品
3.计算每个地区销售额最低的产品及其销售额
答案:
python
importpandasaspd
defanalyze_sales_data(file_path):
df=pd.read_csv(file_path)
1.按地区分组计算总销售额
region_sales=df.groupby(region)[sales].sum().sort_values(ascending=False)
2.找出销售额最高的前3个产品
product_sales=df.groupby(product)[sales].sum().sort_values(ascending=False).head(3)
3.计算每个地区销售额最低的产品及其销售额
region_lowest_sales=df.groupby([region,product])[sales].sum().reset_index()
lowest_sales_by_region=region_lowest_sales.loc[region_lowest_sales.groupby(region)[sales].idxmin()]
returnregion_sales,product_sales,lowest_sales_by_region
假设文件路径为sales_2025.csv
results=analyze_sales_data(sales_2025.csv)
1.3SQL查询(5分)
题目:假设有一个数据库表`employees`,包含以下列:`id`(员工ID)、`name`(姓名)、`department`(部门)、`salary`(薪资)、`join_date`(入职日期)。请编写SQL查询语句,满足以下条件:
1.查询所有2020年入职的员工及其薪资
2.查询各部门的平均薪资,并按平均薪资从高到低排序
3.查询薪资高于部门平均薪资的员工名单
答案:
sql
--1.查询所有2020年入职的员工及其薪资
SELECTid,name,salary
FROMemployees
WHEREYEAR(join_date)=2020;
--2.查询各部门的平均薪资,并按平均薪资从高到低排序
SELECTdepartment,AVG(salary)ASavg_salary
FROMemployees
GROUPBYdepartment
ORDERBYavg_salaryDESC;
--3.查询薪资高于部门平均薪资的员工名单
SELECTe.id,e.name,e.salary,e.department
FROMemployeese
INNERJOIN(
SELECTdepartment,AVG(salary)ASavg_salary
FROMemployees
GROUPBY
原创力文档

文档评论(0)