一面:
首先问了一些有关git的东西
- rebase 与 merge的区别
- pull 与 fetch 的区别
- git 的三个区 (工作区、暂存区和版本库)
然后是HTTPS的工作流程
- GET/POST的区别
- HTTP状态码你知道的有哪些(这简直太阴间了,谁记得住那么多。。。)
有关数据库:
- 使用数据库时,索引是不是越多越好;
我回答说不是后又问在哪些情况下会变慢
2. 如果数据量比较大应该怎样加快数据库的速度(适当的索引,还有分库分表这些)
好像还有一点别的?记不住了
最后的撕代码就是一个简单的矩阵旋转。我用一个找规律的方法过了
二面:
二面面试官见面就给了道题,就是普通的二叉树广度优先遍历,他说让我写着,他先看看简历🤣
首先问了一些有关js的问题:
- var与let的区别
- 还有js的this在不同上下文中都指向哪里
然后我说我对js的掌握仅限能基本使用,比如用它写个vue网页啥的,没有细究过太多技术细节,于是我们就开始讨论起了计算机的基础内容
操作系统内容:
- 页面轮换算法有哪些
- 时间调度算法有哪些
- 进程的通信机制有哪些(管道,消息队列,共享内存,信号,信号量,socket)
- 管道与消息队列的区别
- 管道分为两种,具名管道与匿名管道 它们的区别是什么
- 并行与并发的区别
这个面试官真的很nice,我最初答反了,他邪魅一笑:“你确定吗?”
我说:你要这么说那我当然是不确定了😂
计网内容:
- 浏览器键入URL后的流程
- https工作机制
- 什么是非对称加密
- 为什么https中用了一次非对称加密与一次对称加密,而不是两次都是非对称的(这个我直接说不知道,面试官提醒我说主要还是出于性能考虑)
- 怎样防止数据库注入(正则过滤或者预编译SQL语句)
最后的算法题就是 leetcode 的“打家劫舍” 动态规划解出来就完事了
三面:
三面的面试官看起来比较年长,说话也很和蔼友善
这次聊的比较开放,所以我记得不是很情绪 大家凑合着看哈哈
动态语言与静态语言的区别,你觉得哪种比较好,以及你认为动态语言的运行速度比起来为什么会更慢
因为我的项目里面有一个编译器 又问了一些有关编译器优化的东西 比如为什么内联会提升性能 你在做这个项目后对于LLVM的看法之类的
深浅拷贝的区别。
dns递归迭代查找的区别
哈希表解决冲突的方法
怎么看待协程,以及你认为协程在哪些场景中比较适用
还有一个情景题 这个不好意思我真的记不住了 反正就是给一个应用场景问你用哪种数据结构比较好
最后的算法题是 最小覆盖子串 这个leetcode上面就有,用滑动窗口的思路就行,之后又问了问我的算法的时间复杂度以及空间复杂度
全部评论
(3) 回帖