2026年软件开发工程师面试题及代码测试题含答案.docxVIP

  • 0
  • 0
  • 约8.4千字
  • 约 23页
  • 2026-02-10 发布于福建
  • 举报

2026年软件开发工程师面试题及代码测试题含答案.docx

第PAGE页共NUMPAGES页

2026年软件开发工程师面试题及代码测试题含答案

一、编程语言基础(15分)

题目1(5分)

请用Python编写一个函数,实现将任意进制数(2-16进制)转换为十进制数。要求:

1.输入参数为两个:待转换的数字字符串和原进制数

2.处理无效输入(如非数字字符、进制数超出范围)

3.示例:

-1A,16→26

-1011,2→11

-FF,16→255

题目2(5分)

用Java实现一个方法,检查一个字符串是否为有效的JSON格式。要求:

1.只需验证最外层结构(如花括号匹配)

2.忽略实际内容校验

3.示例:

-{\name\:\test\}→true

-{name:\test\}→false

-abc→false

题目3(5分)

用C++实现一个模板函数,实现冒泡排序算法。要求:

1.接受任意可比较元素的容器(vector)

2.返回排序后的容器

3.示例:

cpp

//调用示例

std::vectorintarr={5,3,8,4,1};

autosorted=bubble_sort(arr);

//sorted应为[1,3,4,5,8]

二、数据结构与算法(25分)

题目4(10分)

设计一个LRU(最近最少使用)缓存,要求:

1.支持get和put操作

2.get返回键对应的值,并更新访问顺序

3.put插入或更新键值对,如果容量已满则移除最久未使用的项

4.实现时至少说明数据结构选择和核心逻辑

题目5(10分)

给定一个链表,判断是否包含环。要求:

1.不使用额外空间

2.实现检测算法

3.说明时间复杂度和空间复杂度

题目6(5分)

用递归方式实现快速排序算法,并分析其平均时间复杂度

三、数据库与SQL(20分)

题目7(10分)

假设有用户表(users)和订单表(orders):

sql

CREATETABLEusers(

idINTPRIMARYKEY,

nameVARCHAR(50),

cityVARCHAR(50)

);

CREATETABLEorders(

idINTPRIMARYKEY,

user_idINT,

amountDECIMAL(10,2),

order_dateDATE,

FOREIGNKEY(user_id)REFERENCESusers(id)

);

请写出以下SQL查询:

1.查询每个城市的用户数量及平均订单金额(只显示城市和两个字段)

2.查找订单金额超过城市平均订单金额的用户列表

题目8(10分)

解释以下SQL语句执行逻辑:

sql

SELECTu.name,

COUNT(o.id)ASorder_count,

SUM(o.amount)AStotal_amount

FROMusersu

LEFTJOINordersoONu.id=o.user_id

GROUPBYu.id

HAVINGtotal_amount(SELECTAVG(total_amount)FROM(

SELECTSUM(amount)AStotal_amount

FROMorders

GROUPBYuser_id

)ASavg_orders)

ORDERBYorder_countDESC;

四、系统设计(30分)

题目9(15分)

设计一个简单的微博系统,要求:

1.用户可以发布不超过200字的状态更新

2.支持关注/取消关注功能

3.展示用户关注者的最新10条状态

4.说明核心数据结构、主要接口及关键技术选择

题目10(15分)

设计一个秒杀系统,要求:

1.支持每秒处理数千并发请求

2.防止超卖和恶意刷单

3.说明系统架构、关键模块及解决方案

五、编程测试题(30分)

题目11(15分)

用你熟悉的语言实现一个简单的内容推荐算法:

1.输入:用户历史行为列表({user_id:1,item_id:101,action:click})

2.输出:为每个用户推荐3个可能感兴趣的商品ID

3.要求说明算法逻辑,并给出核心代码实现

题目12(15分)

实现一个文本编辑器的基本功能:

1.支持插入文本

2.支持删除指定范围的文本

3.支持撤销/重做操作

4.给出数据结构和核心方法实现

答案与解析

一、编程语言基础

题目1答案(Python)

python

defconvert_to_decimal(num_str,base):

ifnot2=base=16:

raiseValueError(Basemustbebetw

文档评论(0)

1亿VIP精品文档

相关文档