免费合集面试题资源:https://cloud.guaimu.com/276.html
一、前端面试题合集
- 请简述HTML、CSS和JavaScript的关系。
HTML负责页面结构,CSS负责页面样式,JavaScript负责页面交互。
- 请简述盒模型的概念。
盒模型包括:内容区域(content)、内边距(padding)、边框(border)和外边距(margin)。
- 什么是BFC(Block Formatting Context)?它有哪些作用?
BFC是一个独立的渲染区域,具有以下作用:内部元素垂直排列、内部元素不会影响外部元素、可以阻止外边距折叠。
- 请简述CSS选择器的优先级。
优先级顺序:!important > 内联样式 > ID选择器 > 类选择器 > 标签选择器 > 通配符选择器。
- 什么是响应式设计?
响应式设计是通过CSS媒体查询为不同设备和屏幕尺寸提供适当的布局和样式。
- 请简述事件冒泡和事件捕获。
事件冒泡:从触发事件的元素向上一层一层传递,直到根节点。事件捕获:从根节点向下一层一层传递,直到触发事件的元素。
- 如何实现跨域请求?
常见方法:CORS、JSONP、代理服务器。
二、后端面试题合集
- 请简述HTTP状态码的分类。
1XX:信息响应;2XX:成功响应;3XX:重定向;4XX:客户端错误;5XX:服务器错误。
- 请简述TCP和UDP的区别。
TCP:面向连接、可靠传输、传输速度较慢。UDP:无连接、不可靠传输、传输速度较快。
- 请简述RESTful API的设计原则。
使用HTTP协议,采用一致的URI,使用标准HTTP方法(GET、POST、PUT、DELETE),返回JSON或XML格式数据。
- 请简述数据库事务的ACID特性。
原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
- 请简述NoSQL数据库的特点。
非关系型、分布式、高性能、高可扩展性、灵活的数据模型。
- 请简述微服务架构的优缺点。
优点:独立部署、松耦合、容错、易于扩展。缺点:分布式系统复杂性、通信开销、数据一致性。
三、大厂真题带答案
- 请使用CSS实现一个三角形。
.triangle {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid red;
}
- 如何判断一个对象是否为数组?
function isArray(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
- 如何实现一个简单的Promise?
function MyPromise(fn) {
let state = 'pending';
let value = null;
const callbacks = [];
this.then = function (onFulfilled) {
if (state === 'pending') {
callbacks.push(onFulfilled);
return this;
}
onFulfilled(value);
return this;
};
function resolve(newValue) {
state = 'fulfilled';
value = newValue;
setTimeout(() => {
callbacks.forEach((callback) => callback(value));
}, 0);
}
fn(resolve);
}
- 如何优化数据库查询性能?
- 使用索引
- 缓存查询结果
- 分页查询
- 选择合适的数据类型
- 使用连接池
这篇文章仅为面试题合集的概览,实际面试过程中可能涉及到的知识点远比这里列举的多。希望这篇文章能够帮助你更好地准备面试,祝你面试顺利!