【精选】分享我在大厂遇到的面试题,

5aa71fa01483445202278b876a9db0ab.png

点击上方蓝字关注我们

561d0c8e2eca1db1cc734f89ca97c3bd.png

20066f06b803b95b6cc5b99f004ab4f0.png

前提

05d8a66a3d903ca66b0c65b82307a73a.png

在我这个公司已经待了 4 年多了。在技术上已经到达了瓶颈,然后就想出去看看机会。于是就有了如下的经验。

fcb9399078e18c8099b844a93e81bf85.png

去DD

a48f1523ad398f47b2db2e5918b0417c.png

DD 面试先给我安排了一二面一起,但是三面因为面试官在开会于是就再约了。我是去的现场面试,本来是建议我远程面试,我拒绝了,我坚决要去现场面试。

一面:进程、socket、IO 多路复用 等问的稍微深入。然后一个小时不知不觉过去了,面试官走了。(因为这些东西我在我的个人 github 都有代码,所以面试官会看我代码,我会给他们展示我现在在公司的线上使用情况。)

二面:项目、Redis、MySQL、PHP-FPM 很多忘了,就是想到啥问啥,然后答到他的点上就下一个问题。最后让我写个算法题的时候,他在旁边看我 github 的代码。

(从个人感受上,DD 的面试官很尊重面试者)

过了一段时间之后,约我去三面。三面面试官没有考察什么技术难点,就是让我讲了个我的一个项目怎么做。最后就走了。

四面就 HR 面没啥了。

由于太久没有出去面试过,于是我决定在去其他大厂看看。原因有几个:

在面试 DD 的时候,在交流的时候不会紧张,但是等待的时候会有一点紧张。于是我想继续面试其他的锻炼自己。

想要看看其他大厂对技术的要求

如果还能拿到其他的 offer,对自己来说就多个选择。

于是就有了后面的经历~

97ffb77c732bb19130acd29f96b86047.png

BD面试

efef82cf485e7b5401126479d91d9703.png

我是通过内推去面试的,所以面试很快能够约上。这次 BD 面试是所有面可以安排一起,只要通过就可以继续。于是:

一面:Swoole、进程、TCP、MySQL、Redis ,PHP-FPM 等都问了。有些知识点因为没有准备早就忘了,其他的总体上来说没什么问题。顺利二面。(面试时间很短,使用了 30 多分钟。所以什么都问,但是都问的不深)

二面:上来让我介绍自己的工作经历,然后问我做过的项目。没有问我技术点。主要是考察我能不能胜任开发项目我认为。这个也过得特别简单。于是顺利的过了。

三面:上来就抱着一个电脑,似乎很忙。然后看了我一眼说:你先介绍下自己,包括姓名、年龄、籍贯、学校等。然后你再介绍下你的工作经历。好,开始吧。

然后好像他又在看他的电脑,我在对面一直呱呱呱的说。简单的介绍完了自己和工作经历。

然后就问我:给你一个接口你会怎么做?这就是我之前分享的一个问题。这个问题把我问的很蒙。

在面试的期间,面试官时不时会说:我时间不多了,我等会有个会议。

然后再是问我最后一个问题:如果有两个文件 A 和 B,就比如是两份账单,我想查找是否有人重复领取工资,问我怎么做。我问他数据量情况,他说十几万行吧。

我想了几个方案:

1、通过 yield 读取文件然后写入数据库(本地),在通过一个 SQL 完成。

2、通过 Redis 的 set 完成。

3、通过布隆过滤器。

4、假设内存允许的情况下,直接通过 PHP 读取完两个文件然后通过数组完成。

最后面试官问我:你知道 awk 吗?我说我不清楚(只在批量杀死进程用过,其他情况确实没用过)。然后告我可以用 awk 写个命令就够了。

最后问我期望薪资,估计嫌我要的高了。就送我走了~

然后我的简历流到了 BD 的简历库,于是 BD 的 HR 打电话给我让我去另外一个部门面试。于是就约了个时间。一面面试官后来给我打电话,我还特意说了我面得职位是高级,说了我的期望薪资。一面面试官说没问题,只要你有这个能力就行。

6fed249a2d322cf2aafb173a1399686e.png

BD第二次

139996ba6ac70aaf485c0ca3a911bea8.png

一面:

TCP 的三次握手和四次挥手

session 和 cookie 的区别?

熟悉正则吗?

PHP 扫描目录知道吗?如果是嵌套目录呢?

HTTP 的 code 码知道吗?

PHP 的魔术方法有哪些?

PHP 的全局函数有哪些?

PHP 的垃圾回收、内存管理

写个算法:如何知道算法里面的括弧是否有效?

MySQL 的底层知道吗?(从这里我接过了话题,然后开始谈了很多 MySQL 的知识点。并且和面试官聊了聊其他有的没的。)我说完了之后问面试还有要问的嘛?面试官摇摇头说没了。然后说了句:你很有专研精神。然后和面试官互加了微信。面试官送我离开了。

整个过程都很和气,大家不要因为我写的东西觉得好像我很高傲啥的。面试过程最后的气氛像是在互相分享。但我觉得我应该也没有二面了。因为从问的问题来看更像是在招初级的。

acab0f01deb66f96833e615b82c5d7fc.png

TX

d82933053c9caaae8226ad8441dba9d5.png

一面:面试官让我先介绍一个自己的项目。于是我就把我的定时任务项目跟他讲了,而且讲的里面很多的知识点。面试官会一直深扣。我回答面试官问题时,不会只回答面试官的这个问题点,而是会把这个点发散开来,尽量把我知道的能够联想到的都展开。面试的知识点有:TCP、Socket、进程管理、进程线程协程概念、HTTP、网络架构、MySQL、B + 树、RabbitMQ 等。

涉及 MySQL 的问题:执行 insert 语句的过程是什么?

最后写一个算法题:3 题让我挑一道。因为我不怎么看算法,于是才让我 3 题选一题。

二叉树

LRU 实现

数组中找出第 K 大的数

我选了个最简单的,第三个。

a605d373b3f97e13b850131c9eae722b.png

总结

5c7a60fc344c500475a982c32618bdc7.png

面试只要准备的充分,似乎心里就不会慌。然后随着面试的越来越多,就越来越有底气。因此还是要多面面才好!

喜欢就点个在看再走吧 d7e246b0596517ae3c7de6a685e13542.png

posted @ 2022-01-26 18:11  码农编程进阶笔记  阅读(38)  评论(0编辑  收藏  举报
返回顶部 有事您Q我