技术面试中,遇到不会回答的问题怎么破?
在面试中,由于面试官热衷技术方向可能和自己并不一样,所以有时候问的问题,可能是你没有接触到东西(可能你仅仅只是听说过),这种情况在校招或者社招1-5工作经验的面试中出现概率比较高,从我自己的面试经历和多年大厂面试官经历:
希望分享一些重要经验给大家,帮助大家积累更多的职业发展经验,厚积才能薄发,在外界形式不太好的时候,一定要多修炼内功,多学习积累,等待合适时机。
理解误区
在开始分享之前,先纠正一个误区,那就是对于一场面试而言,最后的结果好坏并不完全取决于面试当中的问题是否都回答了上来。
能不能录取和是否回答出所有问题并没有直接的联系。从真实offer成功经验来看,很多人面试时候都遇到过回答不出来的问题,但仍然可以获得offer。
所以对待面试当中回答问题这件事情,可以稍微放平常心一点,不要过于以回答问题为导向。
保持冷静,搜集信息
在面试的时候难免紧张,如果面试官的提问一下子毫无头绪,肯定会更加紧张。所以最重要的是保持冷静,千万不能自乱阵脚。
当然,只冷静是不够的。冷静下来之后,有一件事一定要做,那就是再分析一下面试官的问题,看看有没有理解错,有没有什么信息缺失
除了确认题意之外,其实我们还可以通过询问搜集一些信息。如果是算法题的话,可以试着问一下数据的范围和时间的限制。
数据范围和时间限制有了,基本上就可以确定算法的复杂度了,复杂度确定了可以大大缩小算法的范围,解决问题就容易多了。
杜绝沉默,适当表达
很多人在面试的时候不把问题完全想出来,或者是不想到最优解就不肯罢休。
我自己之前有段时间也这样,有时候能想到解法,但是自己感觉不是最优解,我就会一直想,一直到想出来才跟面试官说。后来当我自己成了面试官之后,我发现这种做法非常不可取。
你要把面试当做一次探讨和沟通,即使一时没完全给出答案,也可以和面试官探讨,阐述你不成熟的想法、思路以及困惑。
回避问题,展示自己
你需要先把自己知道的说出来,不知道的或者比较模糊的最好别说。因为技术领域的概念比较多,很多名称比较近似,但南辕北辙,所以强行作答很有可能出现驴唇不对马嘴的事情,这是面试的大忌。
想不起来,就是想不起来,千万不要撒谎。但是不撒谎并不意味着没有回旋的余地。你可以说,这个技术平时用的不多,我们某某领域,我对XX技术比较熟,不然我给你讲讲吧。
最后你给了一个解决方案,虽然我不知道A,但是我知道近似的B,也能起到近似的效果,比如问你数据库,你实在没用过,强行说自己对JVM很熟悉,也不是不可以。至少要比一句我不知道要好得多。
编程语言技术栈
C++还有前途吗?Go是不是很流行?Java还行吗?python在大厂干什么?大厂项目里面的编程语言技术栈是什么?
2021年,腾讯研发人员增长41%,Go首次超越C++成为最热门语言
来一起聊一聊编程语言,如何构建个人正确的编程语言技术栈?
每种语言都有它擅长的场景,我们要做的,就是不断去了解这些场景最佳实践并理解其背后的原因,可以通过自己亲自项目实践,也可以和有经验同学交流习得。
超高性能、极致优化、超低延时的cpu密集型业务,还是会用C++,C++性能优化工具链比较丰富,没有GC或者字节码这种影响性能的特性。
业务对内存安全特别看重,一些核心组件场景可能会用Rust,Rust不但提供超高性能,还提供更安全内存管理机制,对C/C++领域发起了挑战。
快捷开发,AI,脚本类用途,还是Python, Python非常容易上手,不需要编译,Python里面数据结构丰富,可以实现复杂脚本处理。
常规业务,高并发业务,云原生业务类,Go兼顾易用性和性能,Go 不仅仅是一个语言,还有一整套完善的工具链, 特别是分布式系统下,无论是速度,质量都比C++容易,性能也不错,而且现在常规业务类型系统都是堆算力,云原生下算力很容易,反而保证质量比较难, Go有各种现成的高质量的开源组件和库。
企业级应用(主要指复杂的大企业的软件系统),各种类型的网站业务,大数据领域,Android应用开发等都是Java主战场,Java具有跨平台,较好的安全性和健壮性,纯面向对象编程,Java生态完善,让Java依然是后台开发的王者,Java 编程语言已经存在了将近 30 年,这使得在市场上寻找 Java 开发人员变得相对容易。
作为未来优秀程序员,如何构建自己的编程语言栈。
努力精通一门后台业务语言,也要熟悉其他主流后台语言适用场景,能够帮忙我们更好帮助我们理解自己的主打语言,同时做好可以随时切换的准备。
必须掌握底层开发语言C,C是所有高级语言的母语,也是很多底层核心组件开发语言(包括很多语言底层实现),方便我们更好理解底层的实现。
熟练shell脚本语言,程序员不光要写业务逻辑代码,还需要写一些构建脚本,搭建编译系统,现网问题定位,log分析,文本处理,自动化脚本等工作,这些工作也能体现程序员的技术功底,也能提高自己或者团队的工作效率,优秀程序员本身就是效率的追求者。
熟悉Python辅助性编程语言,Python目前来看是提升效率主打编程语言,能够快速demo验证,非常适合短小精悍的工具类开发,自动化测试框架等,对shell针对复杂流程场景是一个有力补充。
以上只是建议,也可以其他同等的替换方案(原理同上),最后,程序员核心是解决问题,语言都是工具,理解好手中的工具,才能更好为我所用。
问题答疑
解答你的困惑,如果问题沉淀多了,自己内在逻辑会非常模糊,做事没有主见和没有自己的思考,很容易随波逐流,所以有问题就得及时解答,弄清楚。
以下是部分问题答疑和讨论的纪录:
程序员核心竞争力是什么:怎样在有限的资源下选择最好的实现方案的能力。
阿里会搞方法论,搞通用的方案,这样可能不太好落地和推动(资源开销大), 腾讯会更实在,先搞出一个适合项目的快速上线的方案,再慢慢迭代。
要把⻛险暴露出来,工作任务不要默默搞,及时反馈进展,要延期的要提前提出来。
整个产品的流程都要hold住,研发、测试、上线、相关组件、不要只在乎自己这一块。
以上就是这期分享的内容,错过直播的同学,视频已经放在星球上了,希望我的分享可以帮助大家更好理解技术深度和大厂技术经验,让大家快速成长起来。
欢迎大家加入极客星球,让我们一起进步,一起打通技术的任督二脉,对星球感兴趣的,点击查看-> 极客星球,公众号回复“优惠卷”,或者扫描下面二维码可以加入。里面还有之前几期的直播分享视频,星球分享的东西都很干货。
同时我每周都会提问几道非常经典的面试题,通过参与这些经典的面试题分析验证,我们可以彻底理解大厂面试的核心知识点,需要深入交流学习同学,可以加入极客星球,和大家一起快速成长:
大厂求职核心原理1v1指导(职位,简历,面试,策略等一条龙优化)
技术问题分析解答(有专属VIP群)
加入极客星球,然后加我微信,进群一起学习。
大厂技术路线
后台开发进阶
开源项目学习
直播分享(已经分享了7期,加入星球可以看回放)
技术视野
按需提供经典资料,节约你时间
实战技能分享
- END -
看完一键三连在看,转发,点赞
是对文章最大的赞赏,极客重生感谢你
推荐阅读
你好,这里是极客重生,我是阿荣,大家都叫我荣哥,从华为->外企->到互联网大厂,目前是大厂资深工程师,多次获得五星员工,多年职场经验,技术扎实,专业后端开发和后台架构设计,热爱底层技术,丰富的实战经验,分享技术的本质原理,希望帮助更多人蜕变重生,拿BAT大厂offer,培养高级工程师能力,成为技术专家,实现高薪梦想,期待你的关注!点击蓝字查看我的成长之路。
校招/社招/简历/面试技巧/大厂技术栈分析/后端开发进阶/优秀开源项目/直播分享/技术视野/实战高手等, 极客星球希望成为最有技术价值星球,尽最大努力为星球的同学提供面试,跳槽,技术成长帮助!详情查看->极客星球
求点赞,在看,分享三连