背景
又到了金银银的招募季节。最近有朋友问我:“君哥这三年来面试都问什么问题?”当时我只是按照之前的面试流程回复了他。 :“一般是基础、项目技术、公司项目技术的匹配;当然基础很重要!”
后来想了想,觉得这个答案不够详细。相信还有其他刚入行的程序员也会有和上面朋友一样的疑问,所以才有这篇文章来分享一下我的一些粗浅的想法。认知,让我们互相勉励。
这几年我面试过很多人,也被别人面试过;有过技术面试我回答得流利的时候,也有过我彻底绝望地逃跑的时候。
以下是我经常询问或被要求与您分享的一些技术点:
大家发现自己问的技术范围都有一个共同点:“基础”。
那么依据是什么?
”
基础就是底层原理,是支撑上层技术的核心原理,比如数据结构和算法、锁机制、多线程、JVM等。
注意,根据一些朋友的反馈,现在的面试经常会问到数据结构、算法、计算机底层原理、开源技术底层原理等方面的问题,比如某个章节。
我感觉一些好的大公司对程序员的要求越来越高,所以想要高薪就必须在日常生活中打好基础。
回到正题,作为面试官,如何了解技术面试官的心呢?
一、技术面试官眼中的技术深度
任何一个工作过一定时间的程序员,或多或少都会对自己所熟悉的技术有一定的了解。至于一个程序员对于他所熟悉的技术的理解深度,我认为特别体现了他内功的深度。
比如面试官问你java的关键词,面试一般都会追求角度,由浅入深,一连串直击灵魂的大炮:
使用底层原理与其他技术相比的优缺点
最难回答的可能是底层原理,因为它涉及到Java中非常底层的东西。比如虚拟机的工作内存和主内存、线程、计算机处理器指令、对象锁等。这些是普通开发人员很少关注的方面,但这恰恰是需要彻底掌握的关键知识。
想象一下,您一年前就知道如何使用它。三年后,你的知识水平仍然与一年前相同。那么你的竞争力还不如有一年工作经验的同学。
二、技术面试官眼中的技术广度
技术广度并不要求你对一些非专业的技术有深入的了解,但一定能够让你彻底了解技术领域的是非。
一般来说,我理解的技术广度有两种:
一个人技术知识面很广,可以从几个方面学习,举一反三很容易,可以与你的专业相辅相成。就像张无忌修炼了“九阳神功”一样,凭借所拥有的神功,他可以很快学会“乾坤大挪移”和“太极拳”!
三、技术面试官眼中的技术水平
我认为技术高度是一个非常想象的东西。它可以指你对当今技术趋势的前瞻性看法,你的思维模式,或者你是否能从行业生产力和产出的角度来看待技术的价值。
那么有的同学可能会问,如何增加高度呢?
我个人认为,当你有了以前的技术深度和技术广度作为基础时,你自然会逐渐对当今的技术产生深刻的认识、理解、判断或决定,从而形成自己的技术价值观。
这种技术价值观是一个系统,是一种结构化的思维能力。它是一把利器,让你临势知进退,让你在面对复杂问题时抓住要点、击中要害。 。
因此,如果你聪明的话,你可能会发现,提高自己的技术能力是一个长期的过程,需要日积月累。
如果非得想办法让自己的功力快速提升,比如尝试修炼葵花宝典,那就等于“杀敌一千,自损八百”,到头来得不偿失。损失。
总结
一个公司对技术人员的要求是多种多样的,不能一概而论。有些要求您了解 Java;有些则要求您了解 Java。有些需要Java技术专家;或者技术不重要,业务能力适合我们公司。但无论是哪一种,程序员都必须追求自己的技术价值观。
“台上一分钟,台下十年功”,所以在工作之后,要不断学习和总结,做一个有责任心、对自己负责的人。虽然采访内容千奇百怪,但从来没有脱离基本原则。
回复1024后台私信,免费获取微信小程序、Java面试、数据结构、算法等全套视频资料。