一面+二面 4.14
-
多进程问题
大概长这样:......int main() {........int pid1 = fork();int pid2 = fork();
........
}总***生多少个进程, 如何区分父子进程 -
msql 隔离级别 然后给了一道题,两个事务并发,在可重复读和读已提交的情况下,select语句分别输出什么
- http和https区别,然后接着问TLS四次握手的过程、对称密钥和非对称密钥、数字证书和CA
- get和post区别, 有哪几种post请求,还有一些和包头、编码有关的问题
-
session和cookies
- 滑动窗口和拥塞窗口
- Go语言的并发模型(GMP)
- 进程和线程的区别
- redis基本数据类型
- mysql聚簇索引和非聚簇索引、主键索引是不是聚簇索引、唯一索引呢?
- mysql索引 b+树
- TCP三次握手、四次挥手、为什么握手要是三次,而不是两次或四次
-
C语言内存对齐
- 联合索引, 一面问知道联合索引吗,怎么用 (知道、没用过); 然后二面问了一道联合索引的题,大概长这样:
select *
from table
where a=1 and b=2 or c= 3
order by d;
问如何设置联合索引(不会, 根据自己的感觉强答了一波)
然后二面中间问了项目做得啥,因为项目很简单,没啥可问的,在我说明了项目的需求和功能之后就没继续问了
其他的记不太清鸟。。。
一面代码题:leetcode 25 k个一组翻转链表
二面代码题:leetcode 92 翻转链表II
三面4.20
一上来就做题:
leetcode 15 三数之和
做完跑用例,一开始忘加去重的条件了,只过了20%的用例,然后改了一下, 跑通了。
然后就是各种结合项目问问题:
做项目过程中索引怎么用、项目里联合索引怎么用、redis数据丢失怎么办 ,balabalabala,
淘宝网站如何设计数据库表(因为之前在写论文,只有一个很简单的和Web相关的项目,而且那个项目的需求还是区块链,其实只涉及到一点点很简单的后端开发,所以都不太会。看得出来面试官不太满意)
因为项目没啥可问的,然后就问了一些基础的东西
mysql 幻读、ACID
redis 项目里怎么用的 (文件分块上传过程中用hash存文件总块数和各块是否成功上传)
redis里快表怎么用的
一个url从输入到收到返回值的过程
linux的一些命令:
查看进程命令 (我说了ps和top)
在一个文档中查找某个字符串 (我说我一般用vim /,grep应该也可以)
然后三面很快就结束了。
然后反问:因为三面面试官前面的问题都要结合项目回答,我实在是没啥项目,答得很不好,当时感觉已经凉了。所以只问了问想要提高项目能力,该看点啥书,面试官建议多看看数据库(mysql和redis),
总结:面试的问题和代码都不难,都是平时常见的。
主要还是项目经验太少了,这一点很吃亏。
然后代码平时还是要多练练,要不当着面试官的面手撕代码,一紧张就容易出错,一出错就慌,一慌就理不清思路了。
不说了,祝大家都面试顺利吧,我去看数据库了。
全部评论
(2) 回帖