前几天面试某公司的时候,简历上密密麻麻的一片还是让我十分膨胀,在那跟面试官疯狂吹🐮🍺,前面的部分都差不多,自我介绍,公司职务,项目分析。
“你简历上说项目都是独立开发,并且前后端分离,使用了 MQ 处理聊天消息,为什么要这样做呢?”
“因为使用前后端分离可以让前后端开发进度不需要受到对方进度的限制,分工更明确,使用 MQ 是考虑到大量聊天消息同时发往处理器的场景下产生高并发问题的解决方案。”
“那你说说为什么选用 RabbitMQ,RabbitMQ 相对于其他 MQ 的优缺点是什么?”
“ RabbitMQ 并发能力强,性能好,延迟低,社区活跃度高,出了问题比较好解决。”
“那你详细说一下 MQ 做了什么事情,为什么可以解决高并发问题?”
“ MQ 相当于一个信息交换器,有出口和入口,在信息交换的过程中,生产者和消费者不需要进行直接接触,只需要通过 MQ 进行信息交换,生产者的变更或消费者的变更完全影响不到整个业务的流程,同时在高峰期间可以多个服务器进行读取 MQ 的数据以保证信息不会因为某台服务器挂掉直接 GameOver。”
“那你再说说 MQ 工作原理,它的底层是怎么工作的。”
“......呃....应该是类似于一个单向链表的结构?遵循先进先出原则.....”
“那你说说 MQ 的底层实现是怎么做到的?”
“。。。。。。不太了解。。。”
“ Angular 的 AOT 编译跟 JIT 编译有什么区别? AOT 的坏处是什么? AOT 底层是如何实现的?为什么 AOT 编译不支持箭头函数?”
“ Observables 和 Promises 的差别是什么?分别是如何实现的?底层原理是什么?”
“ TypeScript 中的泛型和接口最后会转化成什么? TS 是强类型语言吗?怎样把 JS 库转化为 TS 库?命名空间和模块的区别是什么? TS 的重载和 C#的重载有什么区别?是如何使用 JS 实现的重载?”
“ Ionic 是如何跟手机交互的? Ionic 作为一个 UI 库底层做了什么东西?为什么可以打包出一个 APK 文件?”
“呃,应该是调用了 AndroidSdk 对 Angular 项目进行打包,通过调用 Angular 内的 Cordova 库的 API 跟手机进行交互?”
“ Cordova 作为一个 JS 库是怎么对 Android 的 API 进行调用的?为什么可以对 AndroidAPI 进行调用?如何在不使用 Cordova 的情况下页面调用 AndroidAPI?”
“那这样吧,给你道算法题,你来手写解法吧”
“彳亍....口巴....”
“我出去上个厕所,等会回来”
“做完了吗?”
“好吧,这边面试结束了,我们会在 3 个工作日内通知您的面试结果。。。。”
101
lolizeppelin 2019-07-18 13:09:33 +08:00
|
102
jmk92 2019-07-18 13:11:37 +08:00
你该不会是伪造了简历,期望工资也高,不得不吹牛装逼,结果被别人怼了。
如果你跟他说,你之前是小公司实习的,也没有吹牛装逼,期望工资更不高。 他一直有意为难你,除非他看你不爽,当然也不缺乏有其他可能性,但,事出有因嘛。 其实吧,为人处事,低调一点不好吗?合理的要薪资,这家不欢迎你,换一家就是了。 |
103
wly19960911 2019-07-18 13:36:00 +08:00
@lolizeppelin #101 我也对所谓的原理有所不懂,一个前端 promise 远离还好,这个不是很难。但是谈 rxjs 的原理,还真的以为观察者模式就能混过去?各种操作符怎么实现的,怎么中断订阅的。这不是一个实习生能回答得水平吧。
我是不懂动不动问原理的人他自己到底懂不懂什么是原理。 |
105
bonfy 2019-07-18 13:54:47 +08:00
看你投啥吧,如果是 工资比较高的 这么面也是可以的
如果就一般性的,那么就是面试官不爽你吹牛了 (一般你说的这些应该不会引起面试官一种挖到宝的错觉吧??) |
106
W1angMh 2019-07-18 14:14:03 +08:00
@v2byy 我们公司正在招.net 开发
|
107
yuyiwas 2019-07-18 14:16:45 +08:00
老哥你就不会找一个在行的公司项目来面试吗?非得找这些不符合你的
|
109
willJE 2019-07-18 14:46:46 +08:00
哈哈,文笔不错,有画面感了,别做开发了,写小说去吧
|
110
xwhxbg 2019-07-18 14:50:18 +08:00
angular aot 不支持箭头函数?为啥啊,没听过这种说法啊,大家不都是 ts 或者 js 编译一发吗?你浏览器就算不支持我给你编译一下成普通函数一样的啊
|
111
encro 2019-07-18 15:02:28 +08:00 1
面试官之所以追问,是在于看你十一个怎样的人,是不是去想了了解了背后的原理,因为好的程序员都喜欢追根究底,掌握实物的本质和不是停留在用的层面。
比如 RabbitMQ 问题:其实就是看你的深度,MQ 既然你知道那么好,他是怎么做到的,你说你选择 MQ 是因为它好,当是你只是听说,看别人说,没有自己去了解,这就是不深入。 面试的重点是发现你是一个怎样的人,另外就是压价格(一部分想学技术的,不希望老大技术菜的人会选择吧) |
112
encro 2019-07-18 15:04:00 +08:00
开始就选择你熟悉的 MQ,一下就能考察你的深度,后面只是给你补救的机会,看你还有没有其他可取之处,你没有把握好。
|
113
swulling 2019-07-18 15:05:01 +08:00
有种面试方式就是深入面试,在各个问题上探索到面试者的能力限制,从而获得一个客观的评价
|
114
fhsan 2019-07-18 15:17:16 +08:00
面试基本上都会遇到这种,直接拿简历撕你。
|
115
version 2019-07-18 15:44:12 +08:00 via iPhone
应该是面 mq 就知道你技术深度低,而且之前小公司也是半成品,上线也没人用那种,人不太虚心,所以面试官已经不打算要你了,出了算法只是走过场而已
|
116
mzdblsw8 2019-07-18 16:23:40 +08:00
写小说去吧。做开发太屈才了。
|
118
chniccs 2019-07-18 17:32:30 +08:00
我也觉得可能是前面可能有点显得过于自信了,面试官就故意想压一压你,享受一下快感
|
120
Austaras 2019-07-18 22:16:09 +08:00 1
前端来尝试回答一下
>“ Angular 的 AOT 编译跟 JIT 编译有什么区别? JIT 发的是模板+编译器,AOT 发的是编译结果 > AOT 的坏处是什么? 慢, 所以开发一般不开 >AOT 底层是如何实现的? 这问的太大了,ngc 是个完整的编译器,从 parser 到 code generation 都有好好做 >为什么 AOT 编译不支持箭头函数?” [doc]( https://angular.io/guide/aot-compiler#no-arrow-functions) >“ Observables 和 Promises 的差别是什么? 最简单的回答是 Observables 是可以 resolve 多次的 Promise > 分别是如何实现的?底层原理是什么 看看 RxJs 代码就懂了 > “ TypeScript 中的泛型和接口最后会转化成什么? 会被编译器去掉 > TS 是强类型语言吗? 是静态类型 > 怎样把 JS 库转化为 TS 库? 加 typing > 命名空间和模块的区别是什么? 这俩都别用了 > TS 的重载和 C#的重载有什么区别? 没有 static dispatch > 是如何使用 JS 实现的重载?” 直接用就好了? |
121
SingeeKing 2019-07-18 22:49:09 +08:00
我怎么觉得和三级狗面头条的那篇文章这么像……
|
122
vkhsyj 2019-07-18 23:26:31 +08:00
不要在意这种事情,你要相信下一家会被你忽悠住
|
123
Minson 2019-07-19 13:57:46 +08:00
简历法则第一条:跟面试职位无关的不要写,不知道原理的不要写精通
|
124
epkT6QJ3RSaz6AnJ 2020-02-28 09:26:44 +08:00
@LongMaoz 帖子没法改,后面应该是 Ionic 考查混合应用和主流浏览器特性。其实不管任何面试,核心点就是用你的经历证明你的聪明程度、耐心程度、以及勤奋程度。技术面只是工具,关键还是看人。
|