前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这份程序猿社招准备花了我一周时间

这份程序猿社招准备花了我一周时间

原创
作者头像
forgettion
修改2021-04-26 10:19:24
1.1K0
修改2021-04-26 10:19:24
举报
文章被收录于专栏:面试八股文

金三银四,很多人都准备跳槽面试,我这里梳理下自己准备社招面试时的一些经验,给需要的人,希望能帮到大家,祝大家拿到满意的offer。

如何准备面试呢?我从五个模块来说说自己的经验

1、基础知识

以自己做过的东西所使用的知识为主,以行业认可的基础知识为次。

为啥要把项目中使用的基础知识放在首位呢?会用是基础,如果知其然也知其所以然,可以让自己更好的使用,也可以避免一些不必要的错误,更能让面试官对你好感爆棚。再者也是看大家有没有深入了解一项技术的行动,想做的事情和做了的事情是两码事,而职业又是一个需要不断深入学习的过程。

当然用的东西那么多,不可能每一个都去了解原理细节,这是不现实的,那么重点就应该是那些最最最常用的东西,比如对于java开发来说,jdk源码是需要去学习了解的,而jdk源码又那么多不可能全部看完,那么就是那最常用的HashMap会被面试官问的最多。面试过程中面试官很可能会以你的项目为切入点,慢慢展开,问一些技术细节,然后再深入到原理,对于自己项目所用的知识掌握比较好的话,完全可以把面试官引导到项目中,让他围绕项目所用技术来发问。当你没有一个很好的切入点时,面试官就会这个技术点问下,那个技术点问下(面试官也是在找你所擅长的地方),时间就那么长,他问的越多越散,你就越危险,你要把所有技术点都掌握是比较难的。

对于自己项目中使用的中间件,也需要做深入的学习和了解,最好是系统的学历下,比如项目用到了rocketMq,那么就去系统的了解下rocketMq架构设计是怎样的,各种类型的消息是怎么实现的,部署结构是怎样的,最好再做个横向学习对比下kafka是怎样的,两者有什么区别和各自的特点,这就是一个对技术的探索过程。

另外对于一些最常见的面试问题,最好还是找找面经,看看最常问的问题是什么,然后自己总结下问题的答案,这算是一条捷径吧,只适合本来就有全面的了解,再通过面经画重点一样。自己要是掌握的知识面没有那么广和深时,刷面经还是要从这个问题入手,系统的学习了解下,避免看到的这个问题回答上来了,面试官稍微深入的问以下就不会了,这样就很容易挂。再者就是一定要至少有自己深入了解的一个点,最好是达到让面试官没有更深入的问题来问你。

对于基础知识,要慎用【精通】二字,精通的定义是很熟练的使用,并且对原理特别清楚,可以达到任意改动的地步。为了显示自己谦虚,还是不要用精通二字。

2、项目经历

在准备项目经历时最好是带着一个模板来准备,这样可以避免漏掉什么——项目名称、时间、简介、你的角色、你负责的内容、碰到的难点、你的解决思路、复盘你的收获和总结。

换个角度想想,如果你是面试官,当别人给你讲述一个项目时你最关注什么?当然是这个项目是干啥的,业务项目的话是为了解决什么业务问题,技术项目的话,又是为了解决什么问题(碰到的问题),你采用什么方法来解决(解决思路),结果怎样(用什么衡量),以及你从这个项目中得到了什么(收获和总结),这个问题还可以怎么解决(有没有其他解决方式或者业内怎么解决)。

从上面的描述中就可以看出来,应该带着这些问题去准备项目。可能你会问,当时做的时候时间特别紧(尤其是业务项目)哪有时间思考这么多,但是现在不就是个好时间来思考这个问题嘛?虽然项目上线后可能没有继续跟进去看看有什么问题然后去解决,那就趁现在这个时间来想想当时的解决方式是不是最优解,如果现在去做的话你会怎么做,这些都是体现你的思考,如果什么思考都没有,做再多的项目那永远只是个写代码的,而大部分大公司不会要这样不去思考的人。另外还有一点就是找找业内对于你做的项目&遇到的问题都是怎么做的(横向对比)这点对于年限越高的技术人员越重要,面试官会从这里去看你的技术视野。

千万不要因为简历上内容太少而将一些自己不熟悉的项目写上去,一定要保证写上去的项目自己一定非常了解,否则会让面试官觉得不是你做的,会大大的扣分!

3、简历

简历用单独的篇幅来进行总结

4、软性技能

字节招聘官网
字节招聘官网

这是字节的面试考察内容,我理解的软性技能就包含,沟通能力、逻辑表达、性格,因为业务复杂,工作涉及到的部门/人员很多,怎样才能让别人配合你,怎样才能更好的配合别人,怎样才能更好的合作,这个也是很重要的点。

怎么展现自己的软性技能呢?

沟通能力:首先做到不抢话,等面试官说完话/描述完问题后再说,当接到一个问题时,可能这个问题描述得不那么清晰,也可能你觉得问题很清晰但实际和面试的问题不是同一个——理解偏差(这种情况很常见),还没搞清楚问题就开始侃侃而谈,这样的人不少,目的够搞错了,你觉得结果能对嘛?工作中也是这样,和领导确认清楚工作内容再开干,不然干了半天发现和领导说的不是一件事,你是领导你怎么想?所以在回答问题前首先要做到明确问题,达成共识(也没必要各个问题这么来,简单明确的问题就没必要),再做回答,当问题不明确时,询问不明确的点,确定好题目划定的可操作范围,当都描述清楚后,自己简述下你理解的问题是什么,和面试官就问题达成共识。

比如面试官让你说说你知道&理解的锁,锁也有多种,本地锁、分布式锁,所以可以进一步询问,您是指jvm本地锁还是分布式锁。

逻辑表达:其实也就是在回答问题时自己脑海中要有根线,把答案中的多个点串起来,达到层层递进、次序分明,这样会让面试官觉得你对问题有自己的思考,并且思路清晰,思考全面。这样的回答模式要在临场总结出来的可能性不大,所以要在准备阶段针对问题做这样的梳理和准备。也要注意在回答问题时要化被动为主动,将问题引导到你熟悉的方向,让自己进入【装逼模式】

以一个简单的问题为例:线程和进程有什么区别?

随口回答:线程更轻量级;一个进程可能包含多个线程;进程是内存分配的最小单位,线程是调度的最小单位等等

找了一个生动的回答:

来自某乎
来自某乎

不仅用一个很形象的例子来说明自己的理解,还从进程和线程的区别中可以延伸到线程通信(前提是你对线程通信掌握的比较好),从面试官提问到自己从一个点引出另一个点,自然而然的,面试官就会问问你线程通信的问题了,这不,你就主导了面试官的提问方向了,就变成你的主场了。面试官也不会百分比按你思路走,有时也会不按套路出牌的。

性格:适当的表现的积极乐观点,遇到不会的问题先根据自己掌握的知识尝试去回答(可别瞎回答一通),面试官也会给你提示引导你回答,让面试官觉得你是在积极的面对问题。

之前在牛客收到了一个模拟面试的点评邀请,然后发现一些问题,觉得可能大部分都会存在就在这里说说,希望大家注意

回答问题有点磕磕绊绊(紧张除外),这样会给人一种边说边思考,掌握不牢的感觉,大家在回答问题时,可以先思考一会,但不要太长,然后流畅、清晰的回答,这样会很加分哦

5、问答

一般在每次面试快结束时面试官会问问你有没有问题要问他,把握这个机会,了解公司/留个好印象。建议大家都能提前想几个问题,能显示出自己关注的点(更建议你把关注点放到工作相关的),例如

想了解下当前公司/部门对校招生/新人都有怎样的培训/辅导计划—————体现你对发展的重视

问问面试官当前负责的业务————体现你对这个公司,这个岗位有兴趣

问问团队氛围——————关注融入

问问团队当前面临的挑战————————————关注工作有没有挑战,以及挑战点

薪资福利就不要问技术面试官了,留给hr吧

面试就是双向选择的过程,面试官的表现有时也就代表了公司文化/氛围,一个良好的面试体验也是一家公司的宣传门面,面试你的人一般都是你以后的同事/leader,要是觉得面试时他们的态度很差,让你很不舒服,酌情考虑是否终止后面几轮的面试,尊重是前提,要是有这样的leader,以后进入待的舒心的可能性不大。

最后建议大家在面试过程中,适度的装装逼,但是注意,小装怡情,大装伤身。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、基础知识
  • 2、项目经历
  • 3、简历
  • 4、软性技能
  • 5、问答
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档