转行Java后第一次面试某鹅被坑,那些一毕业就进大厂的程序员,有哪些秘诀?(1)

  • java基础知识

  • 开发者的基础知识 数据结构与算法、操作系统(这一面没有涉及)等

面试相关技术准备


由于我简历上还有iOS相关的经验,还写了个熟悉c/c++,于是复习内容如下:

  • 程序员面试笔试宝典

  • 剑指offer

  • 找的网上java相关的面试题目

  • 看java源码: 这里准备有些不足,细节上很多答不上来。

Java的知识


1、面向对象的特征有哪些方面?

2、访问修饰符public,private,protected,以及不写(默认)时的区别?

3、String是最基本的数据类型吗?

4、Java有没有goto?

5、int和Integer有什么区别?

6、在Java中,如何跳出当前的多重嵌套循环?

数据结构


链表的是否相交 当时提供了几种解法,然后自己给自己挖坑了

如何判断交点

面试时都考察哪些

一、简历是否真实


这其实是面试第一要务,面试的过程其实就是看简历是否属实的过程,因为能到面试环节,说明这个人是符合要求的,不满足要求的早就被剔除了,如果他真的如简历描述的那样,100%会招过来,如果人人都如此,那就不需要有面试这种过程了。

需要注意的是这里的真实有三层含义:

  • 如实描述自身经历,很多人只在一些大项目里做一个很小的螺丝钉,但简历里往往夸张这段经历。

  • 不知道自己不知道,常见于简历里各种“精通”开头的描述,因为知识体系与视野的局限,明明只是了解很浅却夸口精通,很多时候他并不认为自己说的有问题,而是真的以为自己已然精通,有点井底之蛙的感觉。

  • 简历里的真实要与你的期望相匹配,一门技术了解到怎样的程度才算精通,很难有定论,所以这里的“真实" 只能是候选人与面试官标准之间的契合,这种有主观运气成分,也许面试官水平不够错误判断了你,也不用感到不爽,面试何尝不是种双向选择呢。

二、技术的深度


技术的深度一向是面时光最看重的部分,当今任何一个技术领域都非常宽广,一个人要同时掌握那么多知识并且都深入几乎不可能,那都需要拼学习效率与工作年限了。而你曾经做过的东西,正在做的东西,是绝对可以了解得更深入的,一个对技术有好奇心,有技术热情的人,都不会仅仅停留在这个东西挺好用,而是会忍不住去探究它背后的技术原理,即便不是亲自去看源码,也会花点时间了解别人整理过的经验,所以单凭考察技术上的深度,就可以考察-个人是否对技术有热情 ,是否有技术好奇心等等这些很多大牛认为的所谓“优秀程序员的特征”。

之前曾看到过一句话:“一个人对他所做的事情了解得越深,他就能做的越好”。放在这里再合适不过了。

三、技术的广度


深度是有了,还需要广度吗?我个人的理解是:深度是必要条件,广度是加分项。同样的有技术好奇心的优秀程序员,也不会满足于仅仅局限于自己的一亩三分地,工作之余,也会想要尝试一些其它的领域和方向,因为投入问题也许不够深入,但很多领域知识你知道与不知道,对你个人知识体系的形成关系很大。

比如你要实现一个功能, 在你当前熟悉的技术领域上很困难或者效果不佳,在你就要放弃时你的同事告诉你,这用一个简单SqL语句就可以实现啦,为什么要搞得那么麻烦?这个例子虽然举得很蹩脚,但是我想意思大家应该已经明白了。知识越有厂度,头脑里的技术体系就越备,同样的问题,你就可以想到N个解,思考一下就得出最优解了 。

如果你听都没听过一些东西,就会经常说出“这个好难搞啊”、"这根本就不可能”其实有的时候真是知识的局限问题,所谓的从0到1难,也是这个意思。

四、逻辑思维能力


这也是一些面试官比较看重的一点,这里并不是指那些臭名昭彰的脑经急转弯问题,而是通过交流观察,判断一个人表达观点逻辑是否清晰,回答问题是否有章法,这个很难描述,但如果你细心观察,你会发现很容易通过一些简单的交流,就可以看出一一个人是否逻辑清晰。

有时候你会觉得某个人表达沟通很不错,其实不是沟通的问题,是他说出去的话,经过了他大脑的条理清晰的整理,让你很容易就能明白。这种习惯不是一朝一夕就能养成的,所以面试过程中这点装不出来。

另外一个人如果逻辑清晰,而且反应又敏捷,语速很快,那是大大的加分项,恭喜你,距离offer不远了。

面试前系统复习的重要性


我也已经做了好几年开发了,还记得刚出来工作的时候觉得自己很牛逼,现在回想起来也蛮好笑的。懂的越多的时候你才会发现懂的越少。因为如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。

工作将近8年,似乎一直都在救火式的学习。遇到问题,才着急忙慌的上网查,边学边用,这种方式诚然是100%学以致用的,但是这种头痛医头脚痛医脚的方式并不会对自己日后解决新问题有多少助益。

面试新工作时我们难道可以以此作为核心竞争力吗?

福尔摩斯的神探能力也许是通过破解一件件错综复杂的案件获得的,但是促使她破案的绝不仅仅是对犯罪现场的敏锐观察,他的推理很大程度上取决于他对某些领域的系统知识的掌握以及独到见解。处理问题的能力很重要,但是这个能力需要有专业及系统化的理论知识作为支撑。

不管是往深了学,还是横向扩展知识的广度,重要的是得找到那个圆心,然后以或大或小的半径去打磨围绕这个圆心的各种技能。这样,找工作时才能底气十足,才能有望在某一个领域成为专家。

面试需要具备哪些技能?

  • Java基本功,这个是必备知识。如果说面试到时很少用,并不代表后面项目不会用到。

  • Java基本知识也是要的。如果连Java基本知识都理解不深刻,那我估计想开发出一款好的软件也没那么容易。

  • 面试的问题不常用或是比较难的,其实,说明面试官想对你做深层次地考核,答得上来是加分项。

  • 面试官也很忙的,面试题大多也是网上找到。

  • 有时候,需要的并不是标准的答案,而是看你的学习能力、知识广度、分析问题的思路、解决问题的技巧等等,这个才是面试官关心的。

面试复习路线参考


Java学习路线图

首先,对于没有学习方向,知识不体系的人,我把我工作几年整理的学习路线分享给大家,做一个借鉴作用,还不知道怎么学习的人可以直接照着我这个学习路线一个个的去学习,知识不体系的人可以参考下我整理路线的方式,总之希望能够帮到你们!

img

帮你在现在的基础上,重新梳理和建立Java开发的知识体系。无论是你短期内想提升 Java内功实力,突破自己工作中的能力瓶颈,还是准备参加Java面试,都会在这份资料中有所一些收获。

最后:学习总结——MyBtis知识脑图(纯手绘xmind文档)

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

image

除此之外,前文所提及的Alibaba珍藏版mybatis手写文档以及一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!

以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

[外链图片转存中…(img-S47EVsRM-1714804930792)]

除此之外,前文所提及的Alibaba珍藏版mybatis手写文档以及一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值