小红书 笔试
- linux命令 cat不包括空行 cat file.txt | grep -v '^$'
- `-v`:输出那些没有匹配到的行。
- `'^$'`:用于匹配空行的正则表达式,`^` 表示行的开头,`$` 表示行的结尾,中间没有其他字符,即空行。
- sql <>
- SELECT * FROM table_name WHERE column_name <> value;等价于SELECT * FROM table_name WHERE column_name != value;
- `<>` 是标准的 SQL 符号,而 `!=` 是很多数据库系统扩展支持的。
- 在 SQL 中指定事务的约束模式 :SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
- READ UNCOMMITTED 脏读
- READ COMMITTED 不可重复读
- REPEATABLE READ 幻读
- SERIALIZABLE
- 一般情况下 从http2下载文档需要几次udp和tcp连接
- 通常只需要一次 TCP 连接来建立 HTTP/2 会话。
- DNS 解析可能发生在使用 UDP 的情况,而且在某些情况下可能需要多个 DNS 查询。
- 如果是 HTTPS (通常与 HTTP/2 一起使用),那么还涉及到基于 TCP 的一次 TLS 握手。
- SHOW GLOBAL STATUS LIKE 'qcache_%';
- 查询缓存相关的状态信息。
- - `Qcache_free_blocks`:查询缓存中空闲块的数量。
- - `Qcache_free_memory`:查询缓存中的可用内存量。
- - `Qcache_hits`:从查询缓存中返回查询结果的次数。
- - `Qcache_inserts`:添加到查询缓存的查询数量。
- - `Qcache_lowmem_prunes`:因为内存不足而从查询缓存中删除的查询数量。
- - `Qcache_not_cached`:因为无法被缓存而未存入查询缓存在的查询数量。
- - `Qcache_total_blocks`:查询缓存中总块数。
- HTTP标识资源缓存过期时间
- `Expires` - `Expires: Wed, 21 Oct 2015 07:28:00 GMT`
- `Cache-Control`:`Cache-Control: max-age=3600<seconds>`
- 对于现代的Web应用来说,`Cache-Control`是一个更灵活和强大的缓存控制机制,并被推荐使用来覆盖`Expires`头部的行为。
- vector push_back之后iterator会失效吗 可能会失效
- vector动态调整容量的时候会调用哪些构造函数
- 默认构造函数:当调用 `resize(n)` 使 `vector` 的大小增加并且新的大小超过了当前的容量时
- 拷贝构造函数:使用 `push_back()` 或 `emplace_back()` 添加元素导致重新分配时
- 移动构造函数:如果元素类型支持移动操作,则通过移动构造函数移动到新的内存位置,而不是拷贝。
- 引用占用额外内存吗
- 在C++中,引用通常是以指针的形式实现的。从这个意义上讲,一个引用通常需要存储所引用对象的地址,因此在某些场合下可以说它“占用”与指针同样大小的内存。
- 然而,编译器可能会在可能的情况下优化引用的使用,例如,在引用仅用于传递函数参数或在函数作用域内时,编译器可以直接使用原始对象的地址而无需分配额外存储空间。
- 构造函数和析构函数有返回值吗 无
- const声明时必须初始化,运行时不能修改
- class成员函数和成员变量的默认权限都是private
- n篇笔记,其中第i篇笔记的点赞数量为ai,评论数为bi。现在选择k篇笔记作为"精选笔记合集",合集的优秀程度为:所有笔记点赞数之和乘以评论数的最小值。求合集最大的优秀度。(n,ai,bi<10^5)
- n个笔记,每个笔记的点赞数为ai。一个笔记赞数加1后,下一个加1的必然是另一个笔记。对于每一个笔记,其赞数变成所有笔记赞数最多时,此时所有的笔记赞数之和的最小值是多少?