前几天面试某公司的时候,简历上密密麻麻的一片还是让我十分膨胀,在那跟面试官疯狂吹,前面的部分都差不多,自我介绍,公司职务,项目分析。
“你简历上说项目都是独立开发,并且前后端分离,使用了 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 个工作日内通知您的面试结果。。。。”
![]() | 1 babedoll 2019-07-17 17:07:02 +08:00 你说的我竟然都不知道。。。 5555 学习去了 |
![]() | 2 qq976739120 2019-07-17 17:09:02 +08:00 ![]() 面试官懂的也挺多啊 |
![]() | 3 Woood 2019-07-17 17:10:17 +08:00 ![]() 写简历铁则,不清楚源码的不要写精通 |
![]() | 4 BingoXuan 2019-07-17 17:10:22 +08:00 你永远不知道你的对手是谁的时候,不要把自己软肋给暴露出来 |
![]() | 5 DonaldY 2019-07-17 17:11:17 +08:00 算法题是什么?好奇 |
![]() | 6 greatbody 2019-07-17 17:12:46 +08:00 其实人家的意思是我们只招大牛,杂学家回避 |
7 Fate810 2019-07-17 17:13:03 +08:00 ![]() 面试官内心获得极大满足,一天后收到 offer |
![]() | 8 TobiahShaw 2019-07-17 17:13:05 +08:00 MQ 那个是队列吧,不是单链表 |
![]() | 9 shakaraka PRO 这就是我简历用永远写了解而不写熟练的原因 |
10 zcjfesky 2019-07-17 17:15:11 +08:00 吹牛逼一直爽,一直吹牛逼一直爽 |
![]() | 11 BBCCBB 2019-07-17 17:15:16 +08:00 一个 websocket 能被你写出 2 个错,也是醉了 |
![]() | 13 oott123 2019-07-17 17:18:35 +08:00 面试官想知道你对一个知识了解得有多深。并不需要你全都回答出来吧…… 不然只随便问问,你又该发帖说面试官什么都不懂面个屁了…… |
![]() | 14 515576745 2019-07-17 17:19:37 +08:00 via Android 这么底层的,是精通? |
16 v23x 2019-07-17 17:22:46 +08:00 这种情况的确很尴尬 难受 |
![]() | 18 CEBBCAT 2019-07-17 17:35:04 +08:00 ![]() 该发文学区,哈哈哈 另外最后算法题没出来也太丢人了吧喂 |
20 longline 2019-07-17 17:36:23 +08:00 楼主要不考虑转行写段子? |
![]() | 21 l1nyanm1ng 2019-07-17 17:37:44 +08:00 via iPhone ![]() 楼主文笔真的不错,有当谐星的潜质 |
![]() | 22 niubee1 2019-07-17 17:39:20 +08:00 关键是让你撸个啥算法? 快速排序?堆排序?赫夫曼编码?傅立叶变换? |
![]() | 23 msaionyc 2019-07-17 17:42:13 +08:00 算法题是什么 |
![]() | 24 yeze322 2019-07-17 17:45:36 +08:00 这些问题挺好的啊,面试官有点东西 |
div class="fr"> 26 hell0v2 2019-07-17 17:47:43 +08:00 转行做内容吧 大有可为 |
![]() | 27 imiao 2019-07-17 17:50:08 +08:00 via Android 正常软件开发不需要啥都精通,很多东西都是会用就行。招你进去又不是开发一套 MQ 跟 rabbitmq 竞争,问底层完全就是看你不爽。如果真遇到 rabbitmq 解决不了的问题,需要改源码,又不是不能学,怕什么。 |
![]() | 28 imiao 2019-07-17 17:52:42 +08:00 via Android 总之面试不要上来就吹牛逼,让人有种想戳爆的感觉。 |
![]() | 29 misaka19000 2019-07-17 17:54:54 +08:00 这排版不错 |
![]() | 30 coolair 2019-07-17 17:56:43 +08:00 其实这是面试官的套路,其实很多面试官他自己也不知道底层是怎么实现的。 |
![]() | 31 v2byy 2019-07-17 17:56:52 +08:00 文笔不错,很有画面感,话说哪里还招.net 后端 |
32 loveour 2019-07-17 17:58:49 +08:00 所以到底工作职位是干嘛,要精通原理? |
![]() | 33 rb6221 2019-07-17 17:59:18 +08:00 ![]() 感觉不对劲,你直接反问他:这个不太了解,您能说一下答案吗 然后微笑看回答 如果他也支支吾吾,那你可以自由选择是继续还是直接走人了 如果他真的啥都懂,那认栽 不过根据我的经验一般都是前者占大部分 |
![]() | 34 ikaros 2019-07-17 18:07:23 +08:00 kafka 的话我记得不同 topic 之间是没有顺序,所以不能保证消息顺序的, 我之前也是因为前面用到过 kafka(但是不是我维护的,我就往里面写消息,大概了解了下),就写了个熟悉,然后后面被问了好多问题,后来我就把熟悉 kafka 去掉了 |
![]() | 35 NewDraw 2019-07-17 18:08:55 +08:00 via Android ![]() 评论好多人好像真的觉得别人都像他自己一样菜。 |
![]() | 36 epkT6QJ3RSaz6AnJ 2019-07-17 18:32:17 +08:00 其实面试官的思维就是一种严谨、科学的方法论。当你学习一个新的技术时候,必须有一种从表面到本质的过程。所以对一个新技术,要么就不学习,要么就学习到底。这才是把人生投资的方法,如果你每个东西都是学习表面,那么最终只能被时代淘汰! |
![]() | 38 epkT6QJ3RSaz6AnJ 2019-07-17 18:34:08 +08:00 面试官的重点你要看到: * MQ:考察技术选型,如果用开源,就要对市面上各大工具优劣了如指掌 |
![]() | 39 epkT6QJ3RSaz6AnJ 2019-07-17 18:34:50 +08:00 * Angular:考察技术选型,如果用开源,就要对市面上各大工具优劣了如指掌 |
![]() | 40 epkT6QJ3RSaz6AnJ 2019-07-17 18:37:29 +08:00 ![]() * Angular:考察技术深度,以及学习能力,你连 jsbridge 实现都没有讲,我要是面试官我都捞不起来你 * 算法题:考察面试态度和价值观。当你来一个公司面试技术岗,如果你连 leetcode 的水平都达不到,那么很难相信你能坚持工作。基本算法题都是送分题,你主动放弃,那么就是完全态度问题了。我要是面试官我就把你拉黑。 |
41 LongMaoz OP @epkT6QJ3RSaz6AnJ 老哥一开口就知道,老江湖了啊,不过 Angular 那边复制重复了吧 |
![]() | 42 murmur 2019-07-17 18:41:44 +08:00 如何在不使用 Cordova 的情况下页面调用 AndroidAPI?” 我也想知道这个问题的答案 |
![]() | 43 LongMaoz OP @epkT6QJ3RSaz6AnJ 咱面的只是.NET 后端啊,那些完全就是会用,知道一些基本原理,这一顿猛攻谁顶得住啊。。。算法是真的心态崩了自闭了,开始怀疑人生。。。这谁顶得住啊 |
![]() | 44 Sapp 2019-07-17 19:02:45 +08:00 ![]() 答不上来是正常的,答得上来是不正常的,要么是你太强了真的什么都懂,要么就是面试问的太浅了。正常的就是应该一部分答得出来一部分答不出来,然后根据你的回答确定你是不是公司要的人,如果是,再确定你技术究竟是什么水平,给多少钱合适。 |
![]() | 45 shyrock 2019-07-17 19:16:37 +08:00 lz 技术如何不清楚,搞笑文笔是一流的,承包了我一天的笑点,哈哈哈 |
![]() | 46 silverbooker 2019-07-17 19:25:35 +08:00 面试要保持好心态哦。 |
![]() | 47 imswing 2019-07-17 19:28:08 +08:00 via iPhone 你是不是全写的熟悉和精通啊,哈哈哈哈 |
48 面试后端为啥问前端的问题。。。 |
50 noobsheldon 2019-07-17 19:33:07 +08:00 via Android 比克大魔王 |
![]() | 51 LongMaoz OP |
![]() | 52 vanishcode 2019-07-17 21:30:04 +08:00 via Android 切忌给自己挖坑=。= 我是 fe,简历上吹了个 ios,然后就问我 oc 语言特性了,没答上来多少 =。= |
![]() | 53 jugelizi 2019-07-17 22:39:40 +08:00 好吧 我就是这样的 顺着你的回答问下去 直到你怀疑人生 |
![]() | 54 itabas016 2019-07-18 00:00:46 +08:00 via Android 我想知道 这个职位开多少钱 |
![]() | 55 veike 2019-07-18 01:05:55 +08:00 via Android 面试官欲求不满,你生无可恋。 |
56 fuermosi777 2019-07-18 05:34:15 +08:00 这种问题们真挺无聊的。我们公司新项目选 angular 还是 react 是要一个小型 team 做长达半年到一年的选型调查的。恐怕只有选择过的人才能具体回答这些开源项目的优劣。这种“经验”问题到底有什么意义。 |
![]() | 57 q397064399 2019-07-18 06:18:53 +08:00 ![]() 写简历的首要原则,不要写精通,除非你真的看过源码,而且很多细节记得住,否则不要写精通 特别是写精通 Java , 说实话 Java 太大了 从上层的语法 -> class 文件 ->编译原理 -> 字节码 -> 虚拟机 -> 垃圾回收 -> 各种垃圾回收的优劣 -> 操作系统 API -> 汇编 -> 门电路 太多太多了, 所以我们面试 几个同事经常开玩笑 你精通 Java ? 垃圾回收搞明白了伐?光是分代回收的几种模式 就够你记忆一大堆了,还有 G1 回收器, 所以我写简历 一般都写熟悉 不写精通,精通你忽悠 HR 可以, 一般写精通在程序员领域 就是一个笑话,即使是大神也不能精通一门大类的技术 因为涉及的东西太多 只要往死里问 总能问倒的,你要说精通某个具体的小范畴 确实是可行的,其它的东西 都是用到了 就学到了 |
![]() | 58 Universe 2019-07-18 07:37:36 +08:00 via Android @ikaros 你这是真不熟。。 不同 topic 之间完全无关联。。 同 topic 内的不同 partition 无序。。。 |
![]() | 59 ebony0319 2019-07-18 07:55:55 +08:00 via Android 看你之前帖子"实习快一年了",如果真的是工作时间不长,那么给人的感觉就是你学得很杂,面广而浅。CTO 把这类人叫做“码工”。 当然面试就是这样子,每个公司侧重点不同,一次小小的失败不必放在心上。加油。 |
60 woahishui 2019-07-18 08:12:18 +08:00 via Android 你这技能不行啊,遇到这样的,你应该虚心的请教面试官,说自己确实不是很清楚,能不能解惑一下。让他把他的问题都回答一遍 |
61 darknoll 2019-07-18 08:15:16 +08:00 斐济矿泉水的广告? |
![]() | 62 KuroNekoFan 2019-07-18 08:48:34 +08:00 via iPhone 高德置地? |
![]() | 63 KuroNekoFan 2019-07-18 08:50:01 +08:00 via iPhone 其实 observable 和 promise 不好相提并论吧 |
![]() | 64 KuroNekoFan 2019-07-18 09:02:18 +08:00 via iPhone 另外这些问题也就这样吧,如果对某个领域有比"知道"更深一层的认知,就应该要回答出来,毕竟问的是原理而不是执行细节。如果问执行细节,比如说来一段 react list diff 的伪代码,那可能一半人答不出了。 |
![]() | 65 guolaopi 2019-07-18 09:05:11 +08:00 ![]() 我都忘了你是面试.NET 的了 |
![]() | 66 bigjack 2019-07-18 09:05:14 +08:00 不精通不要写精通,写了精通肯定问的比较深 |
67 jmk92 2019-07-18 09:16:34 +08:00 通篇文章侧重点在面试官问的多深多难,已经超出了范围,却没有介绍自己面试的是哪个岗位,要的薪资多少。 又或者说,人家为何这样做,是你吹的太厉害,别人想打击你。还是说别人就是闲着无聊?或者别人脑子不正常? 一般看到这样的事情,通常想起来两口子吵架,铺天盖地的跟你描述对方是怎么欺负你的,形神具备。。 |
![]() | 68 CocaColf 2019-07-18 09:17:12 +08:00 这面试官懂得还挺多的,这一连串下来,谁顶得住啊 |
![]() | 69 fumichael 2019-07-18 09:22:06 +08:00 他可能是觉得你简历写的工资比他还要高而已,哈哈哈 |
71 znood 2019-07-18 09:25:22 +08:00 RabbitMQ 可靠稳定,但是性能并不好,可以说是比大部分的消息队列性能都低很多,但是 RabbitMQ 有复杂的消息分发接收消息策略能够适用各种后台处理的业务场景,但是用作聊天消息真的不合适。 |
![]() | 73 Skifary 2019-07-18 09:27:49 +08:00 不愧是 C#打底,单词都是首字母大写 |
74 lihongjie0209 2019-07-18 09:30:18 +08:00 @znood 什么消息队列比 rabbitmq 性能好 |
75 exploreXin 2019-07-18 09:34:58 +08:00 ![]() 面试官与求职者的位置是不对等的,面试官问的肯定都是自己会的,所以面试官可以用自己擅长的点攻击求职者的整个知识面,注意这个整个知识面不是你会的知识面,而是世界上所有知识的整个集合,在这个信息爆炸的时代,没有任何一个人可以把所有领域的知识都研究到精通的地步。以后面试,当最后面试官问你还有没有什么需要问我的事情的时候,挑几个他刚才问你并且你不会的知识点,让他给你解释一下,90%的面试官都得懵逼,就算他说个大概,你用他的方式穷追猛打,问到底层硬件比特字节的层面,看他还会么。不排除会有剩余 10%的面试官是真正的大神,并且态度也很和善,不装比,还会细心的给你指点迷津,知识面又宽又广,遇到这样的人虚心求教一下,这样面试也能学到很多东西。我也当过面试官,见过各式各样的求职者,同样我也被各种各样的面试官面试过,这两个过程当中我有一个准则是不变的,就是看人品,面试别人的时候看人品,人品不行,技术再好也不要。被面试的时候看面试官人品,那种从你一进门就斜眼看你,翘个二郎腿,说话阴阳怪气的面试官,对不起,你公司再好我也不来,你技术再牛比我也不 care,面试是双向的,你看不上我,我也一样看不上你。 最后,遇到装比的面试官是常态,面对质疑自己要明白这不是自己的问题,技术不行学就是了,同时作为求职者,显示自己的知识面宽广不是什么丢人的事情,这是优点,不足的地方或不够深入的地方以后深入学习就是了,最重要的是要热爱技术,热爱学习,不拿自己宽广的知识面怼别人,虚心求教,这样的技术人员假以时日,一定会大有可为。 |
![]() | 76 Yiki 2019-07-18 09:47:24 +08:00 这种时候我倾向于问下对方我不大了解你能给我解释下吧? ... 话说广州最近真的太热了 |
78 pyfan 2019-07-18 09:51:01 +08:00 面试官有点故意装逼,你面试功课也没做足,不过感觉你搞笑能力挺强的,要不去做段子写手吧 |
![]() | 79 leemove 2019-07-18 10:04:51 +08:00 Angular,AOT 不支持箭头函数????????????我懵逼了. |
![]() | 80 RockShake 2019-07-18 10:10:35 +08:00 这帖子写的很好,转行做内容吧,有前途 |
![]() | 81 wdytoya 2019-07-18 10:11:36 +08:00 很有意思 hhhhhhhhhhhhh |
![]() | 82 narutots 2019-07-18 10:12:28 +08:00 几年?森么岗?动不动就底层底层的.. |
![]() | 83 chiu 2019-07-18 10:22:09 +08:00 ![]() 三种方式是哪三种? |
![]() | 84 shuizhengqi 2019-07-18 10:28:43 +08:00 你简历敢写,就默认你对你简历的内容很熟悉,人家针对你的简历问你,没毛病 |
85 znood 2019-07-18 10:29:14 +08:00 @lihongjie0209 我对 MQ 不深入,常见的支持持久化的 kafka、阿里的 rocketmq、nsq 都比 rabbitmq 高几倍,非持久化的 nats、zeromq 就更不用说了 |
![]() | 86 zongwan 2019-07-18 10:33:11 +08:00 我觉得真正理想的面试是互相挖掘对方的优点 适合这份工作就留下来 面试中互怼的风气(造火箭),万一遇到一个资深的,怼不过也不敢招进来吧 程序员学习 + 尝试新技术是积极的表现,所以简历里写一大堆虽然不了解底层但我觉得不算吹 B 不过那么多技术会有站队问题,比如个人不看好 ngJS (毫无争论的兴趣,完全个人非程序员思维的主观排斥) |
87 liukanshan 2019-07-18 10:43:51 +08:00 猜测楼主前面说的话让面试官有点不爽 后面一些问题是针对性问你 |
89 hanbing135 2019-07-18 10:53:18 +08:00 via Android lz 应该反问回去 搞不好这面试也是二把刀就是看你不爽而已 |
![]() | 90 deathscythe 2019-07-18 10:56:23 +08:00 吓得我都不敢去面试了 |
91 snappyone 2019-07-18 10:57:29 +08:00 只是用过的技术是不敢写简历的,上次就在某个项目简介里面提了一句这个项目用到了 lucene,结果就被问得很尴尬 |
93 JasonHu 2019-07-18 11:01:55 +08:00 我跟 up 主技术栈好相似啊,也是 angular ionic 起步,.net webAPI。不过问的问题跟你平时工作用到的好像没什么关联吧。 |
![]() | 94 easylee 2019-07-18 11:07:52 +08:00 实习生第一次面试,面试这么深? 是一线厂么? |
95 userdhf 2019-07-18 11:13:32 +08:00 难道就没有大佬来回答一下面试题吗? v 站有没有大佬? |
![]() | 96 LongMaoz OP |
![]() | 97 darmau 2019-07-18 11:47:29 +08:00 有一种压力面试 并不代表不会招你 |
99 timsensor 2019-07-18 12:40:49 +08:00 其实就是看楼主不爽,“我这么高级别的人,凭什么跟你谈笑风生” |
100 karllynn 2019-07-18 12:57:08 +08:00 rabbitmq 的优势是可靠性呀 话说楼主对 AMQP 一点不懂么…作为 erlang 最有名的应用,稍微好奇一点的人都应该去了解原理吧 |