字节TikTok一面
1.反转链表
2.用过哪些java框架
3.登录后服务端如何返回cookie?
一句话概括:服务端通过在发送给浏览器的 HTTP 响应(Response)中,添加一个或多个 Set-Cookie
响应头(Header)来设置 Cookie。
Set-Cookie
的重要属性(安全性关键)
在上面的 Set-Cookie
示例中,除了键值对 session_id=...
,后面还跟了一串非常重要的属性,它们控制着 Cookie 的行为和安全性:
HttpOnly
: (极其重要) 设置此属性后,该 Cookie 无法通过客户端的 JavaScript (document.cookie
) 来访问。这能有效防止跨站脚本攻击(XSS)窃取用户的会-话 Cookie。Secure
: 设置此属性后,该 Cookie 只会在 HTTPS 连接中被发送。这可以防止在不安全的 HTTP 连接中 Cookie 被中间人窃听。SameSite=Strict|Lax|None
: (极其重要) 用于防止跨站请求伪造(CSRF)攻击。Strict
: 最严格,完全禁止第三方网站携带该 Cookie 发起请求。Lax
: (现代浏览器的默认值)允许一些安全的顶级导航(如点击链接)携带 Cookie,但禁止像POST
表单、<img>
、<iframe>
等方式加载时携带。None
: 允许任何跨站请求携带 Cookie,但必须同时设置Secure
属性。
Expires=DATE
或Max-Age=SECONDS
: 用于设置 Cookie 的过期时间。Max-Age
: 设置 Cookie 在多少秒后过期。Expires
: 设置一个具体的过期日期和时间。- 如果两者都未设置,则该 Cookie 是一个“会话 Cookie”,在浏览器关闭时会自动删除。
Path=PATH
: 指定了哪些路径下的请求会携带此 Cookie。例如Path=/
表示网站所有路径都携带。Domain=DOMAIN
: 指定了哪些域名可以接收此 Cookie。默认是当前域名。
4.数组和链表有什么区别
特性 | 数组 (Array) | 链表 (Linked List) |
---|---|---|
数据访问 (读取) | 非常快 (O(1))。因为内存是连续的,可以通过索引直接计算出元素的内存地址,实现随机访问。 | 较慢 (O(n))。必须从第一个节点(头节点)开始,顺着指针一个一个地遍历,直到找到目标元素。 |
数据插入/删除 | 较慢 (O(n))。在中间插入或删除一个元素,需要移动该元素之后的所有元素来保持连续性。 | 非常快 (O(1))。只需要改变目标位置前后两个节点的指针指向即可,无需移动其他元素。(注意:找到那个位置本身需要O(n)时间) |
内存空间 | 必须预先分配固定大小的空间。如果空间不足,需要重新分配更大的空间并复制所有数据,成本很高。如果分配过大,则会浪费内存。 | 动态灵活。可以随时添加或删除节点,按需分配内存,不会造成浪费。 |
内存开销 | 内存开销小,只存储数据本身。 | 每个节点除了存储数据外,还需要额外的空间来存储指针,所以总内存占用会稍大一些。 |
缓存友好性 | 高(缓存友好)。由于内存连续,CPU在读取一个元素时,会把其附近的数据也加载到高速缓存(Cache)中,这使得遍历数组非常快。 | 低(缓存不友好)。节点在内存中是分散的,CPU无法有效利用缓存,访问下一个节点时很可能导致“缓存未命中”(Cache Miss)。 |
5.http协议的设计思路
设计思路 | 具体实现 | 带来的好处 |
---|---|---|
简单性 | 纯文本、清晰的三段式结构 | 易于学习、调试和实现,快速普及 |
无状态 | 服务器不记录客户端历史 | 极大地简化了服务器,实现了无与伦比的伸缩性 |
可扩展性 | 自定义头部、新方法、新状态码、版本演进 | 协议生命力强,能不断适应新技术(REST, WebSocket, HTTP/2) |
分层系统 | 允许代理、缓存等中间件的存在 | 构建了功能强大、性能优越的现代 Web 架构 |
6.如何学习CSS样式
7.CSS盒模型是什么
见[[前端面试常见题-CSS篇]]
8.讲一下闭包,有什么应用场景
见[[前端面试常见题-JS篇]]
9.了解哪些ES6的新特性
块级作用域;箭头函数;模板字符串;解构赋值;函数默认参数;展开/剩余运算符;类;模块化;Promise;Map和Set;
10.了解哪些ES next的特性
装饰器语法;深度不可变(Record和Tuple);类中公共和私有字段;Top-Level Await;
11.Promise是为了解决什么问题
见[[前端面试常见题-JS篇]]
12.用过哪一些前端框架和构建工具
13.webpack的plugin有写过吗,作用原理是什么
见[[前端面试常见题-网络和工程化篇]]
14.常见的前端安全问题及防护措施
见[[前端面试常见题-网络和工程化篇]]
15.项目,如何协作,如何确保正常推进,如何技术量化