春招、秋招或者社招,很多时候会有笔试、面试,每个大公司考察的基础部分内容都差不多。所以建议小伙伴们多刷刷笔试面试题,特别是对于初入职场的同学来说,分数高自然能进好的公司、好的部门、拿到高的薪资。惊脉互联网求职今天和大家分享一些后端开发笔试真题。
(1)语法问题
题目:在 Python 中,以下代码的输出是什么?
python
a = [1, 2, 3]
b = a
b.append(4)
print(a)
答案与解析:输出为[1, 2, 3, 4]。因为在 Python 中,b = a是将b指向了a所指向的列表,它们实际上是同一个对象。所以对b进行操作(如添加元素),a也会受到影响。
(2)数据结构操作
题目:用 Java 实现一个简单的栈(Stack),包含入栈(push)、出栈(pop)和查看栈顶元素(peek)的功能。
答案示例:
java
class Stack {
private int[] stackArray;
private int top;
public Stack(int size) {
stackArray = new int[size];
top = -1;
}
public void push(int value) {
if (top < stackArray.length - 1) {
top++;
stackArray[top] = value;
}
}
public int pop() {
if (top >= 0) {
int value = stackArray[top];
top--;
return value;
}
return -1; // 表示栈为空
}
public int peek() {
if (top >= 0) {
return stackArray[top];
}
return -1; // 表示栈为空
}
}
SQL 查询
题目:有两张表,一张是students(包含id,name,age),另一张是scores(包含id,student_id,subject,score)。请查询出每个学生的姓名和他们的数学(subject = '数学')成绩。
答案示例(以 MySQL 为例):
sql
SELECT s.name, sc.score
FROM students s
JOIN scores sc ON s.id = sc.student_id AND sc.subject = '数学';
(2)数据库设计
题目:设计一个图书馆管理系统的数据库,至少包含书籍、读者、借阅记录三张表,写出表结构和表之间的关系。
答案示例:
书籍表(books):
book_id(主键,自增长)
title(书名)
author(作者)
publisher(出版社)
isbn(国际标准书号)
读者表(readers):
reader_id(主键,自增长)
name(姓名)
contact_info(联系方式)
借阅记录表(borrow_records):
record_id(主键,自增长)
reader_id(外键,关联读者表)
book_id(外键,关联书籍表)
borrow_date(借阅日期)
return_date(归还日期)