面试复盘
Table of Contents
面试安排表
日期时间 | 公司 | 地点 | 岗位 | 薪资 | 方式 |
---|---|---|---|---|---|
08-14 10:00 | 金赋科技 | 深圳南山 | 招银云创 / 外包 | 15-30 | 电话 |
08-19 10:00 | 华钦科技 | 深圳南山 | 创兴银行 / 外包 | 15-30 | 线下公司面 |
08-20 11:00 | 德科 | 深圳宝安壹方中心 | Java / 外包 | 25 | 线下公司面 |
08-21 10:00 | 博彦科技 | 深圳南山 | 星巴克 / 外包 | 15-30 | 线下公司面 |
08-30 10:00 | 天下药仓 | 宸胜中心703 | 技术负责人 | 15-30 | 线下公司面 |
09-04 14:00 | 字节牛 | 华翔中心A2栋6楼 | Java | 15-18 | 线下公司面 |
09-05 19:00 | 数字马力 | 长沙 | Java / 外包 | 15-23 | 腾讯会议 |
09-09 10:00 | 武汉企秀 | 光谷世贸中心I栋403 | Java | 10-15 | 线下公司面 |
09-10 14:00 | 博彦科技 | 某银行驻场外包 | 技术经理(银行) / 外包 | 14-18 | 腾讯会议 |
09-11 10:00 | 启云方 | 花山软件新城A5 | Java | 15-25 | 电话突击 |
09-11 16:00 | 长沙能川 | 金禾中心601 | Java | 7-14 | 线下公司面 |
09-11 17:33 | 高伟达 | 建行-楚平路99号 | 技术经理(建行) / 外包 | 15 | 电话突击 |
09-12 10:00 | 北京汇天世纪 | 北京凯恒中心2号 | Java | 15-20 | 电话面试 |
09-12 14:00 | 又又科技 | 光谷智慧园801 | Java | 10-15 | 线下公司面 |
09-13 10:00 | 丰迈信息 | 金融港B22栋502 | Java | 10-15 | 线下公司面 |
经常遇到的外包公司
- 赛意信息
- 法本
- 京北方
- 博彦科技
- 中电金信
- 中软国际
- 神州信息
- 柯莱特
- 拓保软件
- 上海瑞应
- 德科信息
- 长亮科技
- 亿达信息
天下药仓(8.30)
公司离我家不远,地铁直达,大概一个小时可以到。
到达公司之后,直接来了一个HR模样业务大姐面试。没有问八股文,估计她也不懂。大姐先讲了一下公司的业务:主要是在京东,美团,淘宝上卖药的。公司里没啥开发人员,从她来面试就能想到了。然后呢,她们想找一个熟悉医药业务的技术人,来帮他们组件研发团队,帮助他们快速往电商(京东,美团,淘宝)平台上上下架商品。这个目的简直朴素大方且没有技术含量。我正好有电商经验,也懂技术,但是没有医药方向的经验。于是,她开始卡我了。整个面试,双方虽然都是滔滔不绝,频频点头,但是,我能感觉到,她没有想招我的意思。于是,我问她有没有实际场景的业务问题,我来现场解决。
她也不客气,真问了我一个问题:如何快速录入商品数据(包含许多字段和图片)到他们的系统,以便快速上架到京东。我的回答如下:
- 首先,用你们业务人员最熟悉的Excel吧,先把数据录入到excel中,不包含图片;
- 在系统里面做一个上传excel导入的功能,支持导入刚刚录入好数据的excel;
- 把图片文件打包给我,我批量上传到云服务器OSS,最后,按相关规则,把图片路径批量刷入到刚刚导入的商品数据中。
- 简而言之,你只需要上传一个excel,和一个图片文件包,剩下的,交给我。
回答完这个问题,我内心是昂扬的。她现场也没表现出不满意的情绪,说是需要对比候选人,过几天给回复。我临走时,看到她的眼神,感觉她不会招我了。哎,可惜了。
字节牛(9.4)
公司离我家很远,开车40分钟,地铁100分钟。到达公司之后,有一个笔试题,全是选择题,15题。然后有个个人资料需要填写。这个【个人资料】很无聊。简历上该有的都有,非得折腾人填一遍,最后呢,还不一定通过,纯属浪费时间。
资料填完,题做完之后,有个前台妹子过来收资料,然后,过了一会儿,有个HR过来跟我说,技术面试官临时有事出差了,暂时回不来。咱们今天先简单HR一面,后续再约时间技术面,可以采用线上方式。
我的内心是拒绝的,但是脸上是微笑着的。毕竟现在约个面试太难了,被放鸽子了,也得坦然面对,反正也毫无办法。
第二天,Boss直聘上,收到HR回复,说我笔试没通过,面试取消。于是,我对自己说:
- 以后再有放鸽子的,一律当拒绝对待,该甩脸色就甩脸色,至少当时爽了就行;
- 以后再有笔试题的,一律不约面,直接放弃;毕竟一寸光阴一寸金,要珍惜每一分光阴。
数字马力(9.5)
公司在长沙,是蚂蚁金服的全资子公司。主要接阿里巴巴的项目。所以,其实也是外包公司,只不过是阿里的外包而已。一共有3轮面试:
- 第1轮八股文;
- 第2轮讲项目;
- 第3轮HR谈薪资;
不出意外,我挂在了第1轮八股文。我是野路子出生,实践经验丰富,理论知识薄弱,关于八股文,不知道早忘哪儿去了。所以挂的毫无悬念。然后,面试官一句补刀,真是到位:当我从几十份简历中看到你的简历时,眼前一亮;但是现在从你的面试结果来看,反差太大。 哈哈哈,我也很惊讶,tmd人菜骚话多。至于嘛,不就是八股文吗,老子现在就去补。
武汉企秀(9.9)
公司的业务是接其他的外包项目,然后,在自己公司做。勉强算是一个甲方公司吧。地址在光谷世贸中心,90分钟地铁可到。到达公司后,先填写了一个【个人信息】。然后就直接技术面了。没有问八股文,一上来就是问项目。果然,小公司就是比较务实。节约不少时间。面试官问了简历上最近的两个项目:融资项目 和 电商项目。从业务流程到技术实现,以及具体场景该怎么做,都问到了。当然,我也是全程对答如流。甚至,在最后的反问阶段,我还意犹未尽,顺便问了一下公司的IOT项目,并主动提到,自己简历上一个用Erlang做的一个IOT项目。分享了这个项目的亮点和技术栈。并表示对公司的IOT项目很感兴趣。整个面试流程是按照我的节奏感走的。所以,面试结束,我内心很满意,有8成把握可以拿下这个offer。结果第二天,HR通知我,不合适。我百思不解。难道是觉得我最后那一下的IOT项目有在炫技的嫌疑?
博彦科技-某银行外包-Java技术经理岗(9.10)
同样是外包岗,同样有三面。经过几天的恶补JavaGuide的面试八股文,自我感觉突飞猛进,但同时我知道,欠缺的还有好多。如果侥幸没有问到我的盲点,那么还能聊聊;否则,那就只能歇菜了。事实证明,生活没那么多侥幸,我挂在了Java多线程。不亏了,至少知道了该补的方向。于是,我开始补多线程相关的八股文。希望下场面试,可以用得到。
启云方(9.11)
上午10点左右,跟女侠在外面散步,接到一个电话面试,说是【启云方】的面试官,现在约我面试。我是没想起来,Boss直聘,前程无忧,拉勾,万有码力,猎聘上有约过这个面试的。既然有面试,还是人家上赶着来的,没理由拒绝啊,哪怕刷一下面试经验也要。 面试官问的比较杂,从Java基础知识,问到redis集群,mysql锁,项目介绍,项目部署。很多也很零碎,期间,我还帮他丰富面试问题在不同场景下有不同答案。给他说的一愣一愣的,这是一场没有固定剧本的嗨聊。期间有我问答不上来的问题,同时也有些问题还反向科普到面试官了。面试时间有50分26秒。我不知道最终面试结果如何,于是就问他,他回答,要综合候选人情况,最快也要3天才有结果。好吧,let it go!
长沙能川(9.11)
这场面试约在11号下午4点,在去面试到地铁上,我还在刷Java多线程相关的八股文。昨天就挂在这个上面,今天可别再挂这个上面了。
到达公司的时候,才3:40,照例填表然后开始面试。面试官第一个问题就是:说一下mysql的回表吧。我愣住了,老实回答,只知道有这么个概念,具体就不知道了。在这个时候,我是紧张的。只能希望后面的问题别再触到我的盲点了。
接下来,面试官问了
- SpringCloud的常用组件;
- 注册中心Nacos;
- Mysql索引;
- Linux命令查看CPU,内存占用,硬盘占用,日志查询;
- Docker命令相关,DockerCompose相关
- 自动化CI/CD等等。
都是一些比较常用,比较有代表性的,但是却又很简单的问题。我自然对答如流。然后,面试官说他问完了。可是这个时候,才过了10分钟左右啊,这就问完了?我心想,我这是哪里回答的不好吗?于是,
我:“不是还没有问项目情况吗?”
他:“你这项目太多了,问了也没什么意义,或者你觉得,你有哪些方面擅长的,咱们聊聊也行。”
我:“你把我整不会了,我这样自爆不太好吧!那我问一个问题哈,你们想招一个什么样的人呢?”
他:“招一个技术,还想招一个架构师。”
我:“我恰好也懂一点架构,要不咱们继续面架构相关的问题?”
他:“我是属于平台部的,不懂这个哈哈。”
我:“好吧,最后一个问题:你觉得我面的怎么样?”
他:“我觉你挺好的,只是我想问的就这么多问题。”
这是我参与的最快的一次面试。不是因为被面试官问到答不出来,而是,面试官已经把问题问完了。或许,我应该高兴吧。正好问到我的强项上。可是,为什么我总感觉这么不真实呢?于是,我在出公司到达地铁口后,又给公司HR拨了一个电话。问一般什么时候有结果。HR说,两三天吧,如果有结果会告诉我,如果没有收到结果,那么就是挂了。我回复她,
“如果挂了的话,能否也给我一个通知哈。”
“这几天有点忙哈,我担心忘记了。”
“那好办,我过三天如果没有收到结果,我给你打电话。”
“好的”,她挂断电话。
高伟达(9.11)
晚上回到家,跟女侠刷剧《庆余年2》时,还在感叹这家面试过于轻松了。不料,突然一个电话拨过来,说是【高伟达】的面试官,约我面试,就现在,立刻,马上。我内心一阵想问候他老母。看把他能的,一个面试官,好大的官威!一边回复他,稍等一下,我找一个安静的地方。行,你是面试官,你老大!
去到卧室,我问,“我们没有约面试吧。”
他:“那就现在约吧!”
我:“这太仓促了,我都没有准备。”
他:“就是要你没有准备,测试一下你的临时应变能力。我们一般有3轮面试,今天是第1轮,大概10到15分钟,咱们简单互相了解一下。”
我:“好的好的。”
接下来,就是一通狂风暴雨般的问题杂来。是的,没有自我介绍,没有其他寒暄。就是他问,我答。印象深刻的问题有:
- 银行支付流程怎么做的;
- 怎么保证账户数据的一致性;
- 调用银行的接口如果挂了,你们是怎么处理的;
- 支付回调结果是异步的,那么如何,保证支付流程数据的一致性;
- 你刚刚说到有货物质押贷款的业务,那么,你们的用户评级是怎么做的;
最后,他才介绍说,他是这边的项目经理,过几天,再给我打电话,继续聊二面。大概会聊40分钟。还是他给我打过来,没有准备。挂完电话,显示通话时长:20分钟。我回忆了一下整个面试过程,他的语气貌似强势,但是问题却不难。或许一面的目的真的只是: 互相了解一下而已 。
北京汇天世纪(9.12)
上午10点过30秒。接到【北京汇天世纪】的电话面试。大概问了以下问题:
- 自我介绍
- 最近一个项目的难点
- 支付流程
- 分布式二阶段提交
- 为什么找北京的工作
- 老家哪里的
差不多就是闲聊居多,主要是了解一下我的个人情况。然后,说后续第2面,就要面谈了。哈哈哈,那基本是不可能了。我想多刷一下面试经验,人家只是想摸我底儿。双方都没达到目的。所以,不会有2面了,我可不想再去北漂了。
又又科技(9.12)
约好的是14:00到又又科技公司,线下面试。结果我和Jason聊忘了时间,直到12:40才聊完,只好让女侠开车送我去了。
到达公司,发现他们公司是一栋小三层的楼,看着挺大气的。一进门,墙上贴的是二次元的漫画人物,从网上就知道又又科技有点二次元,没想到二次元气息还真是浓厚。前台妹子看起来年龄不大,很热情,领着我去格子间,然后给了我一套面试题。这就很让人难受了,二次元的妹子一点不可爱。
做完题之后,紧接着是技术一面。面试官看起来很年轻,皮肤保养得真好,有点奶油小生。聊了点八股文,不难,有聊了下项目,这是我的强项,很顺利,逐渐进入到我的节奏。面试官其实很健谈,期间还聊了下买房降价之后的烦恼,还挺有趣的一个小插曲,哈哈。后面到了权力反转时,我问了两个问题:
- 公司项目有什么亮点?
- 目前有遇到什么难点?
没想到,还有一天能问面试官这样的问题,后来想想,是我有点孟浪了。不过,也证明和面试官确实投缘。后来又了解到,他们项目目前日活有10万,mongodb每天新增1300万条数据。这个日活和数据量相当大了,有点挑战。自从学了Erlang,我现在看到高并发,第一反应,就是用Erlang来搞搞。颇有拿着一个锤子,看什么都是钉子的错觉。我想,那时的我,一定像极了Erlang的传道者。所幸,是镇住了面试官。于是就有了二面。
我以为二面得是HR终面了吧,毕竟也做过题了,一面技术也过了,一个小公司的面试,差不多也就这样了吧。当然,这是我以为。二面面试官很瘦,不高,戴着眼镜,大概平时没注意护肤,所以脸上痘印很严重。不过,头发很黝黑,发际线也很坚挺。看着不像是搞技术的,难道是人事总监?不过人事总监这个职位,很少有男的,倒像是个项目经理。从后面聊的情况来看,大致猜测出是个项目经理,能聊点项目,也懂点技术但不多。二面结束之后,他告诉我,还有三面,不过不是今天,改天约线上面试,还是技术面,我有点惊讶,难道还有一个技术大佬?不是,你一个小公司,搞这么多面试干嘛?这个大环境现在都这么差了吗?tmd,难死我得了!
HR一开始想和我把三面时间约到了13号上午10点,但是和我中意的一家面试时间冲突了,于是改到了14号上午11点。这样也挺好,正好有时间,可以向Jason请教一下,把一面吹下的牛皮给圆回来。
下面先捋一捋:一个http请求,从前端发起,到后台服务器,数据库,缓存一整个流程是怎么样的?
- 用户操作
- 用户在浏览器中输入URL或点击链接,这会触发HTTP请求的发起。
- DNS解析
- 浏览器首先需要将域名解析为IP地址。这通过DNS(域名系统)服务完成。浏览器会查询本地缓存、系统DNS缓存或DNS服务器,以获取域名对应的IP地址。
- 建立TCP连接
- 一旦有了IP地址,浏览器会通过TCP(传输控制协议)与服务器建立连接。这通常涉及到一个称为“三次握手”的过程,确保连接的可靠性。
- 发送HTTP请求
- TCP连接建立后,浏览器会构建HTTP请求,包括请求行(方法、URL、HTTP版本)、请求头(如User-Agent、Accept等)和请求体(如果有的话,如POST请求中的数据)。
- 请求路由
- HTTP请求到达服务器后,可能会经过一个负载均衡器,它负责将请求分发到多个服务器实例中的一个,以提高可用性和扩展性。
- 服务器处理请求
- 请求到达Web服务器(如Apache、Nginx或IIS)后,服务器会解析请求,并根据配置的路由规则将请求转发给后端应用程序。
- 应用服务器处理
- 后端应用程序(可能是一个Web框架,如Django、Express.js或Spring)接收到请求后,会进行相应的业务逻辑处理。这可能包括调用API、执行数据库查询、调用外部服务等。
- 数据库交互
- 如果需要,应用程序会与数据库进行交互。这包括发送SQL查询,数据库执行查询,然后返回结果。数据库可能是关系型数据库(如MySQL、PostgreSQL)或非关系型数据库(如MongoDB、Cassandra)。
- 缓存查询
- 在某些情况下,应用程序会先检查缓存(如Redis、Memcached)是否有请求数据的缓存版本。如果有,它可以直接从缓存中获取数据,而不需要执行数据库查询,这样可以显著提高性能。
- 生成HTTP响应
- 应用程序处理完业务逻辑后,会构建HTTP响应,包括状态码、响应头和响应体(如果有的话)。
- 服务器发送响应
- Web服务器将HTTP响应发送回客户端。这包括状态码、响应头和响应体。
- 关闭TCP连接
- 响应完成后,TCP连接可能会被关闭,或者保持打开状态以用于后续请求(这取决于HTTP/1.1的keep-alive特性或HTTP/2)。
- 浏览器渲染页面
- 浏览器接收到HTTP响应后,会解析HTML文档,并根据HTML、CSS和JavaScript进行页面渲染。如果页面包含异步请求(如Ajax),浏览器可能会在页面加载后继续发送请求。
- 前端缓存
- 浏览器可能会根据HTTP缓存头(如Cache-Control)将资源(如CSS、JavaScript文件、图片)缓存起来,以便在后续访问时可以直接使用,而不需要再次从服务器加载。
- 用户交互
- 用户与页面交互,可能会触发新的HTTP请求,这个过程会重复上述步骤。
以上是Kimi的答案,不得不说,虽然有瑕疵,但的确面面俱到。我们能优化的一般是以下3步:
- 第4步 发送HTTP请求
- 升级最新的http版本比如
http/2
,甚至http/3
。
- 升级最新的http版本比如
- 第6步 服务器处理请求
- 服务器前置一个堡垒机 Nginx ,据权威大佬Jason测试过,Nginx稍加配置就能轻松hold 10万+ 的http请求数量。
- 第8步 数据库交互
- 数据库表如何最优设计;
- 什么数据是重要的,必须保证不能丢失;
- 什么数据不那么重要,丢失一些关系不大;
- 怎么建立索引,充分应用索引
- 小表驱动大表
- 读写分离
- 等等等等
- 数据库表如何最优设计;
这就是标准答案了吗?那也太简单了。其实说这么多,只是提供了一个思路:根据面试官的提问,层层递进的提问,不断发散,给出不同的场景,并给出不同的答案。让面试官进入自己的节奏。那么三四个问题之后,基本就个把小时过去了。那么面试官还有时间问问题吗?他会不知不觉地陷在这些发散的问题里面。试想一下,面试官一个问题,你给他抛出8个问题,并给出16个答案。那么3个问题之后,会出现两种情况:
- 你聊的太烂,他被你逼疯了。面试失败
- 你发散的问题,连他都不知道答案,那么,他会觉得你是大佬,被你折服了。面试成功
我凭借这个套路,在第三面之后,成功拿得这个offer。
丰迈信息(9.13)
13号10点,面试地点在金融岗。这家公司规模够大的,整个一层一半边都是他们公司的。真是既大气地迫不及待地想加入啊。我在内心给它比一个大拇指。这家面试分为两轮。
第一轮HR面,从家庭住址问到职业规划,从大学毕业后待过的第一家公司,问到最近离职的公司;从第一个项目问到最近做的项目;事无巨细面面俱到,第一轮HR面,就面了50分钟。这比技术面还让人难受。不过,至少可以确定这个HR不是拿我刷KPI了吧。
一面结束,紧接着是技术总监二面。我看他第一眼,就感觉这人不像是搞技术的,毕竟头发还很浓密。在聊过两句之后,我就大概知道他的底细了。他应该不常在一线,也不写代码了。所以,技术也就停留在理论层面,比较好应付。差不多半小时,面试完美结束。末了,对我评价还挺高,或许花花轿子人人抬吧。所以,我自然送上几句恭维。面试结束了。他跟我说,这个岗位只招一个人,但是目前还同时有几个合适的候选人,所以,需要内部讨论,最晚明天给我答复。我再一次验证了大环境是有多难!只能尽人事听天命了。
最后地结果是被人家刷KPI了。明明都面试过了,结果人公司又不着急招人了。今年的金九银十怕是又要跌破新纪录了。