程序员面试攻略之基础技术题准备秘籍
Posted 程序视界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员面试攻略之基础技术题准备秘籍相关的知识,希望对你有一定的参考价值。
“有问有答”栏目,是程序视界提供的免费咨询入口。想参与,可以这样:
发邮件给 foruok@163.com,标题注明“有问有答”。
描述你的困惑或者问题。
我每周会慎重回答一个问题并整理成文章,周四发布在订阅号程序视界内。
如果觉得这种方式较为麻烦,或者你的问题较为复杂,可以使用“在行”小程序,搜索“安晓辉”,付费约我一对一咨询。
安老师,你好:
在面试面谈过程中,总是会被问到一些基础性问题。如Java面试经常会问到下面这类基础问题:
能否谈一下,悲观锁和乐观锁?
能否谈一下,线程池?
能否谈一下,hibernate二级缓存?
hashmap?
……
Hibernate、线程池等这些基础知识,以前培训、看书的时候都学习过,在学习的过程中也写过demo,当时感觉也理解、记住了,但是,面试的时候,问到这方面问题,还是说不清楚、答不好,有些细节方面的地方忘记了。面试的时候,有些基础题也能回答,但面试官再往深层次的追问几个问题,就答不上来了。
在准备面试的时候,这类基础性的问题还非常的多,网上就有些牛人收集几千道题(Java面试题1000道),还附有答案。
但个人感觉仅仅看懂、背会这些题目的答案是肯定不够的,这经不起面试官的追问。可如果一个个题目深入下去研究、去理解原理,上千道题目这样的数量,又会让我感觉到时间不够用。
我想问:在面试的时候,怎么高效准备这类基础性问题?
很遗憾,基础知识类问题的准备,我不知道有什么轻松、快速、高效的法子,如果你找到了,回头来告诉我啊。
我接下来说的,都不轻松,可能阅读过程中感觉会没那么舒服,但这些策略,都是行之有效的,愿意挑战的话,就做好准备开始吧。
基础概念性的问题,往往是有参考答案的,有对错的。比如面试官问你“哪些容器是线程安全的”、“final在Java中有什么用”,答案基本就是固定的。
这一类问题,和我们上学时复习考试,道理差不多,想要很好的答出来,最基本的方法,是下面这些:
-
-
-
这些是笨功夫、硬功夫,跳不过去的,得扎扎实实做。这就好比考试,学期开始学的东西,期末时,肯定要走一遍复习流程,用各种方式反复理解、记忆。
80/20法则用在这里,意思是,挑出最常被问到的那些题目,花更多功夫去记忆、练习、问答演练。比如你可能看到了1000多道题,但实际上只有200道经常被问道。
关联记忆,意思是,把不常用的知识点和你经常用的知识点,想办法关联起来,以熟悉来索引陌生。比如,你用过HashMap,HashMap是非线程安全的,那从这个点出发,就有两种关联方法,1)非线程安全的容器还有哪些,就可以找到WeakHashMap、TreeMap等等,2)线程安全的容器有哪些,就可以找到HashTable、Vector、ConcurrentHashSet等。
一旦知识点彼此之间关联起来,记忆就会很快,复习也很快,因为牵一发就可以动全身,从任意一个熟悉的知识点出发,就可以拎出一串来。
互动演练,指的是找个人向你提问,彼此来回问答。这种方式有两个好处,一是与面试场景像,可以练场感;另一个是演练对手熟悉的知识点和你不一样,他问的点和顺序,往往和你预期的也不一样,这样就能打通那些你因为不熟悉而下意识回避的知识点。
-
-
某某的应用,比如什么场景下用悲观锁,具体怎么用,举个例子
所以你单单记忆知识点,还不够,还要考虑这个知识点在项目中的应用,问问自己下列问题:
它是怎么用的
为什么这么用
为什么不那么用
用了之后有什么效果
对于那些你经常在项目中用的知识点,“应用”这个环节,你按上面的问题清单回顾一下,反思一下就能心中有数。
对于你仅仅知道但很少在项目中用的知识点,除了按照书上或者别人总结的应用经验了解外,也可以挑常被面试官提到的知识点做做小练习,然后再结合上面的问题清单反思它是怎么用的。
求职找工作是大事,对你的职业发展、经济收入、生活状态,都有非常非常大的影响。这么重大的事情,值得认真对待,值得投入时间和精力。
假如时间不够用,是有方法可以挤一挤的,比如早上早起1个小时,下班路上看看、听听,晚上吃饭快一点,少刷会手机……
想想看,要是你努力准备了两个月,获得了理想的Offer,进入了一直想去的公司,月薪增加了50%,是什么感觉?
那时你一定会感谢你现在的付出,你会觉得,一切都是值得的。
退一万步讲,就算你这次为这家公司的准备,没能收到效果,但你的付出,让你巩固了的知识、结构化了体系,也是值得的。同时,你这次准备的基础知识,面试下一家公司,也很可能用得上,努力并不会白费。
你看,无论如何,你的付出,都是值得的。请相信,你在今天所有的投入,就是你深埋地下的一粒粒种子,时候到了,它们必将发芽,生长,与你一起绽放。
◇
活动预告
我的新书《副业赚钱之道:从0到1打造多元化收入》经历各种波折,终于开始印刷了,预计双12会上市销售。书的内容围绕如何寻找副业方向、如何规划、如何持续行动展开,不谈捷径,提供思维、方法和工具,帮助你扎扎实实付出努力打造可以赚钱的副业。
为了更好的把副业实践落地,我准备建立一个《副业赚钱之道》共读讨论群,这样大家一起碰撞,砥砺前行,更容易有成果。
买一本书,链接作者,链接一群有能量的人,获得无限次提问和讨论机会,来吗?
以上是关于程序员面试攻略之基础技术题准备秘籍的主要内容,如果未能解决你的问题,请参考以下文章
如何面试 iOS 工程师?
面试准备之【数据结构】1——图
真香!在Github一夜爆火的面试题库,程序员的福利!
尚硅谷全套课件整理:Java前端大数据安卓面试题
美国大数据工程师面试攻略
程序员面试基础技术题,怎么能快速记住那么多概念?