「面试」小红书之旅
一面
一面面试官看着二十七八岁,文质彬彬,这哪里是写代码的,头发都飘起来了好么。上来就干项目,由于大家的项目都不太一样,所以对于项目部分我就说说我面试的时候经常遇到的问题
描述下项目
一口是吃不了胖子的,描述之前先憋着气掂量掂量自己所说的东西能不能唬住自己,然后唬住面试官。
项目中担任的角色
对于大多数的我们而言,就是开发的角色,同样的道理,角色对应相应的职务,阐述自己做的内容能引面试官上钩,拉钩上吊一百年不许变。
在项目遇到什么困难
这三个问题,是不是可以拎着脚趾拇都可以想出来,除非不是你做的,哈哈哈哈哈。不慌,不是我们做的也不怕,我们必须知道有个网站叫做Github,大牛这么多,自己不是大牛,难道不会学学人家麦。Clone下来,搭建环境跑起来,开始调试修改,通过将模块拆分,进一步修改,这不就是你的项目吗,当然我不怎么建议大家这么操作啦。
我看你简历中写着网络流量的还原,你应该对计算机网络比较熟悉?(注意哈,简历上写上去的东西,自己心里一定要有点B数),那我们说说计算机网络
说说计算机网络中TCP的三次握手吧
你这样回答肯定是不会让面试官满意的,那就加点配料,不放佐料的菜怎么香?那就详细的安排一下
这样是不是稍微有B格一点呢,而且还比较形象,当然为了加深大家对这个过程的印象,我再举个例子
面试官说:“那我问你,如果客户端发送的SYN丢失了或者其他原因导致Server无法处理,是什么原因?
说说四次挥手吧,哎,卑微的蓝蓝
TIMEWAIT了解哈,过多的TIMEWAIT怎么办,什么原因造成的?
为什么不直接进入CLOSE转态,而是需要先等待2MSL,这段时间在干啥?
那么TIME_WAIT有哪些危害?
有没有对TCP进行优化过 开玩笑,这东西复习过,尽管问,锤子不怕。优化的点很多,随便提一点,让后比较深的描述下这个过程就行比如调整哪些参数在某些特定的条件下会最优
你以为面试官是傻子?当然不是,万一面试官问你:半连接积压较多,还有其他的原因?
SYN Flood攻击是个啥过程?
那有没有什么方案解决这个问题?
那么开启SYN Cookies的方法?
说下什么是大页内存
我擦,我差点没反应过来,"大爷内存",不过确实牛逼,大页内存,记住了,是大页内存。
行,差不多时间了,写个简单代码吧,实现一个无重复字符的最长子串
使用 vector m 来记录一个字母如果后面出现重复时,i 应该调整到的新位置 所以每次更新的时候都会保存 j + 1 ,即字母后面的位置 j 表示子串的最后一个字母,计算子串长度为 j - i + 1
二面
一面感觉还不错,果不其然二面来了,HR小姐姐打电话通知周三二面,行,对于从来不迟到的暖蓝,肯定守时。拿着茶,等到2:30,至于为什么拿着茶,这是我的习惯,面试前喝杯茶等待面试官的捧击(面试官其实大部分很温柔的啦)。
我叫XX,来自XX大学,本科XX,硕士XXX,期间做了XX,谢谢面试官。自我介绍不用那么花里胡哨,挑重点说,不会在意你本科谈了几次恋爱,也不会在意你XXXX,简单明了完事,开始二面
应该学过C的吧,用C实现多态怎么个思路
感觉没啥问的,先写个代码,二路归并
倒排索引了解不?
有没有什么优化的方法?
如何创建倒排索引?
首先给文档编个号表示唯一表示,然后排序遍历文档 解析每个文档的关键字并生成<关键字,文档ID,关键字位置>。这里的关键字位置主要是为了检索的时候显示关键字前后信息 将关键字key插入哈希表。如果哈希表已存在这个key,就在对应的posting list中追加节点,记录文档ID。如果哈希表没有响应的key则插入该key并创建posting list和对应的节点 重复2 3步处理完所以文档
如果要查询同时包含"暖"“蓝”两个key怎么办?
如何找到AB两个链表的公共元素?希望小伙伴们思考下,经常在手撕算法中被问到
首先使用两个指针P1 P2分别指向有序链表AB的第一个元素 然后对比两个指针所指节点是否相同,这可能出现三种情况 两者id相同则是公共元素,直接归并即可,然后P1 P2后移 p1元素小于p2元素,p1后裔,指向A链表的下一个元素 p1元素大于p2元素,p2后裔,指向B链表中下一个元素 重复第二步 直到p1和p2移动到链表尾
你说使用过kafka,那么使用消息队列的时候如何保证只消费一次?
我看你简历上打过acm,说说你的策略或者经历吧
写个验证邮箱的正则
了解内存映射?说说,尽量说
我自己可能没有把项目更本质的东西理解清楚 从事的不同的方向,有些专业术语的理解的不同)
三面
线程的锁有哪些,我说到了读写锁打断我了,问我读写锁会有什么些问题,无非就是写锁饥饿问题,我说没看过内核源码,然后如果让我来实现,我怎么来避免
有了解过RPC?
RPC的通信流程是怎样的?
总结
请记下以下几点:
公司招你去是干活了,不会因为你怎么怎么的而降低对你的要求标准。 工具上面写代码和手撕代码完全不一样。 珍惜每一次面试机会并学会复盘。 对于应届生主要考察的还是计算机基础知识的掌握,项目要求没有那么高,是自己做的就使劲抠细节,做测试,只有这样,才知道会遇到什么问题,遇到什么难点,如何解决的。从而可以侃侃而谈了。 非科班也不要怕,怕了你就输了!一定要多尝试。
评论