软件开发工程师面试题及算法设计含答案.docxVIP

  • 0
  • 0
  • 约4.72千字
  • 约 13页
  • 2026-01-01 发布于福建
  • 举报

软件开发工程师面试题及算法设计含答案.docx

第PAGE页共NUMPAGES页

2026年软件开发工程师面试题及算法设计含答案

一、编程语言基础(3题,每题10分,共30分)

1.题目:

请用Python实现一个函数,接收一个字符串作为输入,返回该字符串中所有唯一字符的列表(不区分大小写)。例如,输入`HelloWorld`,输出应为`[H,e,l,o,W,r,d]`。

2.题目:

在Java中,以下代码片段会抛出异常吗?如果会,请说明原因,并给出修改后的正确版本。

java

classTest{

publicstaticvoidmain(String[]args){

int[]arr=newint[5];

System.out.println(arr[10]);

}

}

3.题目:

用C++实现一个函数,接收一个整数数组,返回该数组的中位数。假设数组长度为奇数,否则返回最中间两个数的平均值。例如:

输入`{3,1,2,4,5}`,输出`3`;

输入`{1,2,3,4,5,6}`,输出`3.5`。

二、数据结构与算法(5题,每题12分,共60分)

1.题目:

请实现一个LRU(最近最少使用)缓存,支持`get`和`put`操作。缓存容量为固定值`capacity`。当缓存满时,需要淘汰最久未使用的元素。例如:

plaintext

LRUCachecache=newLRUCache(2);

cache.put(1,1);//缓存是{1=1}

cache.put(2,2);//缓存是{1=1,2=2}

cache.get(1);//返回1

cache.put(3,3);//去除键2,缓存是{1=1,3=3}

cache.get(2);//返回-1(未找到)

2.题目:

给定一个整数数组,请找到其中和最大的连续子数组(至少包含一个元素),返回其和。例如:

输入`{-2,1,-3,4,-1,2,1,-5,4}`,输出`6`(子数组`[4,-1,2,1]`)。

3.题目:

请编写一个函数,判断一个字符串是否为有效的括号组合(只考虑`()`、`[]`、`{}`)。例如:

输入`()`,输出`true`;

输入`()[]{}`,输出`true`;

输入`(]`,输出`false`。

4.题目:

给定两个无重复元素的数组`nums1`和`nums2`,请合并它们,形成一个新的数组,且新数组元素按非递减顺序排列。例如:

输入`nums1=[1,2,3]`,`nums2=[2,5,6]`,输出`[1,2,2,3,5,6]`。

5.题目:

请实现一个函数,计算二叉树的最大深度。例如:

输入二叉树`[3,9,20,null,null,15,7]`(用层序表示),输出`3`。

三、系统设计(2题,每题20分,共40分)

1.题目:

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

-支持用户关注/取消关注其他用户。

-支持查询某个用户的关注列表和粉丝列表。

-支持获取某个用户的动态(包含自己发布的和粉丝发布的)。

请简述数据存储方案和主要接口设计。

2.题目:

设计一个高并发的短链接生成服务,要求:

-输入任意URL,返回固定长度的短链接(如`/abc123`)。

-支持高并发请求,并保证短链接唯一。

-简述技术选型和实现思路。

四、数据库与并发(2题,每题15分,共30分)

1.题目:

假设一张订单表`orders`(`id`,`user_id`,`status`,`created_at`),请写出SQL查询:

-查询最近一个月内,每个用户的未支付订单数量(`status=pending`)。

-查询每个用户的订单金额总和(假设有`amount`列)。

2.题目:

请解释数据库中的事务ACID特性,并举例说明`死锁`现象及如何解决。

答案与解析

一、编程语言基础答案

1.Python唯一字符函数:

python

defunique_chars(s):

s_lower=s.lower()

returnlist(set(s_lower)-set())

解析:

-首先将字符串转为小写,统一比较标准。

-使用`set`去重,但需要排除空格等非字母字符。

2.Java代码分析:

原代码会抛出`ArrayIndexOutOfBoundsException`,因为`arr[10]`越界(数组长度为5)。

修改后:

java

classTest{

publicstaticvoidmain(String[]args){

int[]arr=newint[5];

文档评论(0)

1亿VIP精品文档

相关文档