目录
2.二进制乘法(1010*10110=?),然后转16进制,填空
6.接口,类,子类怎么写,web请求后端的过程?,如何处理异常
笔试的题目只能大概回忆了一下,大家可以了解一下,问问自己是否会做,检查出自己的漏洞
题目和参考如下
1.java递归,给出递归的结果,填空
java
public class RecursionExample1 {
public static void main(String[] args) {
int result = mystery(5);
System.out.println(result); // 输出: ______
}
public static int mystery(int n) {
if (n <= 1) {
return 1;
}
return n * mystery(n - 1);
}
}
答案:120
2.二进制乘法(1010*10110=?),然后转16进制,填空
答案:DC
3.用一条sql写出下面的问题----》应该要用到联表查询
学生表S,属性:学号SNO,名字SNAME
科目表T,属性:科目号TID,科目名TNAME
成绩表ST,属性:学号SNO,科目号TID,成绩SCORE
(1)查询选修了3门科目的人员的数量
(2)查询选修了科目名为"数据结构"的,成绩大于80分的人的名字
(3)查询(不记得,很难)
答案(参考):
sql
-- (1) 查询选修了3门科目的人员的数量
SELECT COUNT(*) as student_count
FROM (
SELECT SNO
FROM ST
GROUP BY SNO
HAVING COUNT(DISTINCT TID) = 3
) as temp;
-- (2) 查询选修了科目名为"数据结构"的,成绩大于80分的人的名字
SELECT DISTINCT S.SNAME
FROM S
JOIN ST ON S.SNO = ST.SNO
JOIN T ON ST.TID = T.TID
WHERE T.TNAME = '数据结构' AND ST.SCORE > 80;
-- (3) 假设第三问是:查询每门科目平均分最高的学生信息
SELECT T.TNAME, S.SNAME, MAX_AVG.avg_score
FROM (
SELECT TID, MAX(avg_score) as max_avg
FROM (
SELECT TID, SNO, AVG(SCORE) as avg_score
FROM ST
GROUP BY TID, SNO
) as sub
GROUP BY TID
) as max_avg
JOIN (
SELECT TID, SNO, AVG(SCORE) as avg_score
FROM ST
GROUP BY TID, SNO
) as student_avg ON max_avg.TID = student_avg.TID
AND max_avg.max_avg = student_avg.avg_score
JOIN T ON max_avg.TID = T.TID
JOIN S ON student_avg.SNO = S.SNO;
4.写一段字符串:+变-,/变_的代码
参考:
java
public class StringConverter {
public static String convertString(String input) {
if (input == null) {
return null;
}
StringBuilder result = new StringBuilder();
for (char c : input.toCharArray()) {
if (c == '+') {
result.append('-');
} else if (c == '/') {
result.append('_');
} else {
result.append(c);
}
}
return result.toString();
}
// 使用正则表达式的版本
public static String convertStringRegex(String input) {
if (input == null) return null;
return input.replace('+', '-').replace('/', '_');
}
}
5.上面这个代码一般用在什么地方
参考:
这种字符串转换代码通常用于:
-
URL编码/解码 :在Web开发中,
+和/在URL中有特殊含义,需要转换 -
Base64编码 :Base64使用
+和/作为字符,在URL安全版本中需要转换为-和_ -
文件路径处理:在跨平台文件系统中转换路径分隔符
-
数据清洗:处理特殊字符以避免SQL注入或XSS攻击
-
API参数传递:确保特殊字符不会破坏参数解析
6.接口,类,子类怎么写,web请求后端的过程?,如何处理异常
参考:
java
// 接口定义
public interface UserService {
User getUserById(int id) throws UserNotFoundException;
void saveUser(User user) throws ValidationException;
}
// 抽象类
public abstract class BaseService {
protected Logger logger = LoggerFactory.getLogger(getClass());
protected void validate(Object obj) throws ValidationException {
// 基础验证逻辑
}
}
// 具体实现类
@Service
public class UserServiceImpl extends BaseService implements UserService {
@Autowired
private UserRepository userRepository;
@Override
public User getUserById(int id) throws UserNotFoundException {
return userRepository.findById(id)
.orElseThrow(() -> new UserNotFoundException("用户不存在: " + id));
}
@Override
public void saveUser(User user) throws ValidationException {
validate(user);
userRepository.save(user);
}
}
// Web请求处理
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public ResponseEntity<?> getUser(@PathVariable int id) {
try {
User user = userService.getUserById(id);
return ResponseEntity.ok(user);
} catch (UserNotFoundException e) {
return ResponseEntity.status(HttpStatus.NOT_FOUND)
.body(new ErrorResponse(e.getMessage()));
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(new ErrorResponse("服务器内部错误"));
}
}
// 使用全局异常处理
@ExceptionHandler(ValidationException.class)
public ResponseEntity<ErrorResponse> handleValidationException(ValidationException e) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST)
.body(new ErrorResponse(e.getMessage()));
}
}
是小公司噢--》大家可以自己评估一下
这里还有下篇哦,可以点开我的文章查询剩下的题目和参考