interview experience

很有意思的一个话题,面试官让纸上写代码,其实笔试做题目是一样的意思。正常来讲程序员这种职业能力如何基本上几句话就能探个究竟,面试需要做笔试的公司很多,不用笔试直接面试的公司也是相当多,参加笔试的一般大公司或者规模比较小的一些公司,大公司有笔试主要公司流程决定的,需要走的流程比较多,笔者从事软件行业十几年,参加面试好像就做过一次题目,很多老程序员,面试的时候看到有笔试,直接选择走人。


现在就公司常见的一些考察人的方法在这做个简单的罗列,笔试,直接面试,上机器写代码,正常来讲主要这三种方式,可能会采用组合的方式,笔试和上机器写代码主要是参照作用,真正起作用的还是直接面对面的交谈,可能一句话就能揭露很多技术细节,编程里面涉及到技术细节繁杂,如果没有做过或者思维意识不到不可能回答上来,几个回来下来就大概知道这人的水平如何,然后就这人了解的详细程度做细分的了解,正常来讲聊的时间越长面试成功的概率越高毕竟大家的时间都很宝贵,谁都不会在一些没有意义的事情上浪费时间。


经常和一些技术面试官交谈如何面试人的经验,基本上每个人都有自己的风格,曾经项目组里面有个架构师面试人的时候就直接撂下很多算法,是个问题里面起码有六个以上算法问题,基本上很多人都在他手上卡住了,还有一个哥们比较奇葩,面试的时候专门问专业的知识,而且问的相当仔细,总之萝卜青菜各有所爱。所以一个人参加面试里面还有运气的成分,还有一个眼缘的问题,一旦和面试官对眼了,那么事情就比较好办了,有些时候技术面试的也很不错,但在交流过程中沟通不是很顺畅,这样面试成功的概率也不会太高。


现在很多国内的软件公司效仿谷歌面试风格,直接上机去写代码,看代码的实现风格,严谨程度,以及代码执行的效率等等,这种基本上很快就能测试出一个程序员基本的代码能力以及常见的算法掌握程度,由于这种方式比较耗时需要面试官花费一定的时间去审阅代码,大部分的公司都不会这么去做,但这种方式对于编程能力的考验直观明了。
面试就要平常心对待,无论有没有笔试都要平常新对待,真要水平过关也不在乎这点笔试内容,写写画画在平常的项目框架设计过程中也是非常常见的事情,水平高的人也不会在乎这些形式的东西。

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~

second 

https://www.cnblogs.com/kubidemanong/p/11626515.html

1、关于基础知识

秋招的竞争还是非常激烈的,如果你想要在秋招中拿到满意的 offer,那么从现实开始,就要把计算机基础(操作系统、数据库、计算机网络、Linux)、算法学好,特别是算法,不容易临时抱佛系,是一个长期积累的过程。

对于大厂,比起项目,它更加主要你的基础能力是否扎实吧。记得腾讯一面的时候,面试官就哈希表这个问题问了我有二十分钟,从刚开始让我用 C 语言来设计一个哈希表,后面问我如何设计 hash 哈希,怎么样设计更高效,怎么样设计能够最大程度减少碰撞,是否要动态扩容等等。一系列问题,我都按照自己的理解回答了,有些引用 redis 、 hashmap,并且我都举了一些例子。这个问题回答之后,感觉面试官有些惊讶,问我是否研究过 redis 这些框架的源码等。感觉这个问题回答之后,面试官对我更加感兴趣了,那场面试问了 90 分钟,基本把所有基础知识都问了。

所以我觉得,对于秋招,理解常见数据结构的相关设计,为什么要这么设计,实在是太重要了,可能很多人都知道链表、树、哈希表等,但被深入一问,可能就不懂,不知道为什么要这么设计了。

这次秋招,被问的最多的就是操作系统、计算机网络、MySQL了,虽然我面试的是 Java 工程师,但是很多公司并没有问我 Java 相关知识(ಥ_ಥ),不过这和一个公司的技术栈相关吧,像我面试的 腾讯,字节跳动,shopee,小米等,公司的主要开发语言不是 Java,所以这几个公司的面试,一个 Java 相关的知识点都没有问过我,反正我是哭了。不过这并不影响我的回答,因为这些计算机基础知识,我很早就在准备了。

所以对于要参加面试的同学,千万别把自己吊死在某个语言上,语言只是一门工具,而应该多花一些时间在一些通用的知识上,例如 sql + Linux + 算法 + 操作系统 + 计算机网络

当然,如果公司的主要语言是 Java 的,还是会问很多 Java 相关知识的,例如我面试京东,蘑菇街,阿里的时候,就问了很多 Java 的知识,像京东,蘑菇街,cvte 就没问过我计算机网络、操作系统这些知识。

所以说,不同公司,侧重点还是不大同的,但是,对于 BAT 这些大公司,基础知识 + 算法 是必问的。

2、关于算法

如果算法学的差,会错过非常多非常多的面试机会,会很难过笔试这一关,秋招的笔试,反正我一直被虐,感觉笔试的难度还是很大的,自己一个人做笔试,想要全 a,还是非常难的。笔试题目一般是选择题 + 编程题,但有些公司没有选择题,全是编程题(例如腾讯,字节跳动,拼多多,网易等,这里指的是提前批哈,正式批的好多我没去参加)。不过无论是否有选择题,编程题做的差,就凉了,一般编程题占60%的分值。

反正我有挺多笔试环节就挂了的,有些我编程题全 A了,然而并没有收到面试通知,估计是我简历没啥亮点吧。

有人说,leetcode 的前 500 道题刷了,笔试稳吗?说实话,还真的不稳,得看你的掌握程度,像 leetcode 那些题,一看就知道是什么题型,应该用哪种算法。而笔试题完全不一样,很灵活,可能是多种算法的结合。而且,有时候题意还得看十几分钟才看懂要我们干嘛。不像 leetcode,就几十个字,简单明了。反正 leetcode 中挺多 hard 级别的题我都会做,不过笔试的难度有些并没有 hard 高,却做不出来。因为时间也是挺紧的….大概一道题只有 30 分钟的时间给你做吧。

所以,那些经常刷 leetcode 的,我的建议是,千万别图刷题的算法,而是应该彻底搞懂这道题的算法思想,力求最优解,之前我也写过相关的文章我是如何学习数据结构与算法的?

对于,还有一点,建议大家在刷题的时候,直接在网页那里打代码,别跑到 IDE 里写了,因为面试手撕代码的时候,并不会给你 IDE 写,而是在笔记本手撕算法,如果你不熟悉的话,估计代码会经常写过,而且排版可能也会很乱。反正我春招面试阿里的时候,让我在笔记本做算法题,我哭了,调用库函数的时候,方法名啥的全忘了怎么写,而且代码也老是写错。因为平时在 idea 会提示,在笔记本没提示,特别不习惯。

3、关于项目

基础、算法很重要,进大厂缺一不可。那么对于一个参加秋招的学生来说,项目重要吗?

答是非常重要,我秋招最大的弱点是项目经验不好,这也让我在很多公司直接一面就凉了。我自己没有脚踏实地着去做一个项目,都是看视频速成的,而且自己也没有好好跟着视频打代码,自己尝试去做一个项目,和跟着视频去做,还是有所不一样的,毕竟跟着视频,很多东西不是自己想的,所以不深刻。

我看的项目视频感觉还是挺不错的,是牛客网左神讲的,只是我比较懒,偷工减料,没有好好写代码,也没有去拓展这个项目。如果自己看完视频,好好去拓展、完善的话,我的项目经验,就不会那么差了。

记得蘑菇街一面的时候,面试官一上来就让我讲项目,然后我就讲牛客网学的哪个项目,面试官让我讲线上的项目,别讲练手的项目,我哭了,因为我没有线上的项目,因为我的暑假实习,实际上就是去培训,并不像其他人去公司实习,可以参与到完整的项目流程。这个时候,我就随便说了培训期间水的一个项目(几天时间快速水的),然后我就被面试官怼死了,,,然后就没有然后了,一面挂。

然后节点 cvte 面试的时候,一面二面全程怼项目,全是我的弱项,我也哭了。可以说,秋招我最大的弱点是项目,多次被怼告诉我,秋招,一定要有一个项目,这个项目不需要多高端,但需要你真正动手做过,研究过

所以说,项目非常重要,可以打打增加面试的成功率,特别是中小型公司。当然,我觉得对于有些大厂,没项目,也一样能进,因为有些公司并不看重你的项目,例如我面试过的腾讯,字节跳动,shopee,小米等,基本没怎么问项目(可能对我的项目不感兴趣,哈哈)。当然,有个项目更好,只是并非必备条件。

项目该如何准备?我觉得可以跟着学校的老师做,或者自己看视频做,但是,一定要自己打代码,并且进行拓展,注意,一定要进行拓展,不然可能会坑了你也不一定。

4、总结

所以我觉得,只要把基础打好,算法学扎实,并且弄些项目经验,进大厂的机会还是很大的,大家不用怕被卡学历,很多互联网大厂,还是大部分不卡学历的,只有你能过得了笔试,基本都能获得面试的机会,面试就是凭实力说话了。当然,对于一些公司,还是挺卡学历的,例如一些国企之类的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值