当前位置: 首页 > 科技观察

不是技术达人如何拿到国内IT大佬的offer

时间:2023-03-13 21:48:41 科技观察

前不久,byvoid的Alistar项目面试结果截图被泄露,引起了无数IT屌丝的羡慕和羡慕。看看这些伟人,NOI金牌,开源社区的名人,三年级就开始写Basic……跪下之后,我们不禁会想,和这些伟人相比,作为大多数技术差的同学,真的比得上国内IT吗?巨人遥不可及?当你点开这个帖子的时候,我已经默认你是本文的目标读者,也就是想进入国内顶尖互联网公司的非人才应届生。你不需要获得NOI奖,不需要成为开源社区的名人,不需要发表过牛逼的SCI论文。(是的,作者就是这样的技术牛逼)请记住,在校园招聘中,大多数应聘者只是刚从象牙塔毕业的年轻男孩。公司需要的是你的潜力和热情。伟大的人总是稀有的。程序员笔试面试的经验贴和经验书数不胜数。本文不会具体教你如何解决问题,而是会告诉你你离梦想还有多远,以及如何缩短这个距离。笔者根据自己的亲身经历,将国内IT巨头按照offer难度降序排列,大致分为以下三个梯队:T1:百度、阿里、腾讯、...T2:网易、迅雷、***时空,360,金山,...T3:华为,中兴,联发科,...Tx:垄断IT国有企业。比如中国移动,...T1主要是BAT的三巨头。他们对学生的技术能力和综合素质要求很高。他们特别喜欢找好人。所以,你必须要有扎实的基础,同时要有自己的技术个性和特点,才能让他们赏识你。这些公司无论是实力还是待遇都是最好的。但要注意这类公司太大,项目组太多,竞争激烈,所以要慎重考虑自己想去的项目组,对自己有优势的。T2是该领域的领导者。治疗会略低于T1。他们需要基础扎实的学生,如果你的项目或技术方向符合他们的领域,那将是一个优势。(比如游戏领域更喜欢图形,安全领域更喜欢安全。)T3最看重的是学生的出身和资质(双211,四六),甚至还有更挑剔的人格考察(华为的性格测试刷掉了很多技术能力强但性格比较古怪的同学),专业考察很基础,但是考察的范围更广。Tx给了一个x,因为他们无法与其他公司进行比较。因为这类企业笔试考试+专业基础。面试考察的是你的综合素质和表达能力,尤其是非技术能力。因此,本文的重点将不予讨论。无敌——完成项目《当他说自己是OpenCC的作者时,哪个面试官没被秒杀》。当然你不需要NB到这个程度。如果你能对面试官说:“我在学习期间做的项目有x万行代码,google关键字xxx可以搜索到项目的demo视频”,就够了。一个程序员的所有技术能力,最能体现在一个完整的项目上,胜过千言万语的自我推销。所谓完整的项目应具备以下条件:1.完整性。它具有一定的功能,或者说解决了一定的问题,具有一定的意义。2.困难。使用或研究一些较新的技术,或具有一定的有价值的技术含量或研究内容。3.工作量。它是一种需要一定努力工作的产品。因此,当你确定要在简历中加入一个项目时,你必须能够回答面试官的以下问题:1、你负责哪个项目?这道题就是要知道你在这个项目中写了哪些代码,尤其是多人项目。你必须强调你所做的工作。问题来了。很多时候我们参与项目,你并不熟悉它的架构和核心技术,只是写了一些逻辑代码,那怎么办呢?解决的办法是花时间去了解项目的核心,对项目的整体有一个清晰的认识,至少是能够表达清楚的程度(总之可以很有说服力。回想一下你的辩护)。如果你做的那块实在是微不足道,不能表达项目的整体情况,那就放弃提这个项目,否则只会让面试官越看你越觉得累。2.你使用了哪些技术?这是***出的一道题。可以介绍项目中使用的各个开源库,以及源代码管理工具(如SVN、GitHub)、调试工具(如WinDbg)甚至项目管理工具(UML工具、VSProject等)你用。总之,这是一个很好的体现你项目综合能力的机会。如果以上都不是高明的话,那就试着从你的项目架构、设计模式、界面设计等入手,总之要站在更高的角度,谈业务需求和逻辑意义不大项目(当然创意项目除外)3.你遇到的最大问题是什么?如何解决?这个问题是最重要的,也是回答技巧最好的问题。你必须说出一个听起来很难解决的问题,但你实际上解决了(或避免)了这个问题。如果实在没有思路,或者觉得项目实在是太简单了,没发现什么难点问题,不妨从这几个方面来思考:对于有网络功能的项目,考虑网络传输效率等问题和网络同步;对于多线程多进程的项目,考虑它们之间的同步/互斥、负载、调度问题;对于需要处理大数据的项目,考虑数据预处理、数据调度等;如果这个项目有一篇论文,那么试着描述这篇论文解决的问题;你解决问题的渠道,比如MSDN、CSDN、开源社区论坛、国外技术论坛、文档手册等,面试官想听的是你发现问题、分析问题、找到解决方案、最后解决问题的思路和方法问题。细节并不重要,因为他不一定能完全理解每一个技术细节。总之,一个完整的项目可以让你充分发挥你的技术能力。在这块项目中,你需要下功夫。如果您不幸没有,请继续阅读。#p#深厚的内功——扎实的基础一般来说,技术方面第一轮就是考察你最基本的技术功底。招聘季,随处可见学生们手捧粗的?啃牙。偶尔还能看到《编程之美》《剑指Offer》的神书。这些经验书真的很有用。但是,要想全面掌握笔试和面试的基本考点,还是需要完整的复习。其实笔试面试中对计算机基础的考察是分不开的。考点无外乎:语言语法(以C/C++为例)。指针(数组)、函数指针、运算符操作顺序、const(常量指针和指向常量指针的指针)、静态四种用法、字符串(字符数组)、字节对齐(sizeof)、位操作。秒杀书籍:《C++ Primer》面向对象。构造与析构顺序、多态、重载、覆盖、C++对象模型等。秒杀书籍:《深入理解C++对象模型》。数据结构。栈、队列、链表(双向、循环)、树、堆、哈希表。基本算法。排序(最重要的是快速排序)、搜索、图算法、贪心算法、动态规划。秒杀书:《算法导论》。设计模式。研究最多的是单例模式。只因他太普通,太单纯。秒杀书:《设计模式》、《重构》。数据库。主要是SQL语句和存储过程。操作系统。进程与线程、互斥与同步、死锁、进程间通信、页表、虚拟内存等。秒杀书籍:《Windows核心编程》、《Unix核心编程》。计算机网络ISO七层结构,TCP、UDP、IP地址等英文。有些公司喜欢问用英文描述的问题,或者英文翻译的问题。IT领域的英语不难理解。如果平时使用MSDN、Google、StackOverFlow,完全不是问题。如果时间还充裕,建议仔细阅读上面推荐的秒杀书籍。如果时间不够,可以有针对性地掌握这些考点。不得不吐槽的是,很多技术不错的朋友,项目不错,却挂在了笔试的基础知识检查上。所以不要小看这些测试点。该背的还是要背的。如果在笔试或面试中被要求在纸上写程序,会有两种情况:1、写一个函数或算法。不要因为题目简单就想在最短的时间内写出来。请务必注意所有参数的边界检测和有效检测。这才是调查的重点!如果记不住某个算法的具体实现,就写伪代码,在每行代码后面加上详细的注释。如果是面试,写完跟面试官说明你忘记具体代码了,但是你记得算法思路,所以用了伪代码。如果忘记了具体的思路,试着用自己的思路来回答问题。总之,尽量不要交白卷。2.设计一个软件或系统。这种情况不需要你写详细的代码。您需要根据程序结构、框架、设计模式或系统架构进行设计。这种框架的东西最好先画个草稿,想清楚了再画。画出各个模块的功能,模块之间的关系,以及各个模块的功能接口。如果是面试,给面试官详细解释。这里强调一下,是否懂架构设计是区分代码菜鸟和精通的重要指标。T层级较高的公司更倾向于在架构层面考察知识。比如百度笔试的第一题,往往要求设计一个分布式服务器系统。#p#锦上添花——无限潜力通常,技术一方面是基础,另一方面更多的是双方的进一步了解。比如技术方向,技术潜力等。如果第二个面试官没有问你技术问题,那你就要主动跟他沟通,说出你的意愿。尝试以下方向:1.表达您的技术潜力和热情。面试官可能会问你一些看似与技术无关的问题,比如问你最近在看什么书,学习后喜欢做什么,经常访问哪些网站等等。如果你说你最近一直在看《诛仙》并且喜欢玩LOL,那你就是在把自己推下悬崖。其实面试官最希望听到的答案是这样的:“我最近在看《C++ Primer第5版》,因为我在我的项目中越来越多地使用C++11的特性……”“我喜欢看TED在我空闲的时间里。”,总有很多让我兴奋的新技术……”“前段时间有空的时候,我和朋友一起参加了xxx组织的开发者大会……”“虎嗅和猎云是我的来源它的信息。你经常去的地方……”回答这样一个平凡的问题就能揭示你的闪光点。你是一名技术人员,请记住,告诉面试官你永远热爱技术,时刻关注IT趋势,比告诉他你是学生会干部更有用。(当然,非技术人员,或者国企面试除外!)但是一定要如实回答。面试官会严格要求你的答案。如果恰好是他熟悉的领域,而你只是接触过,没有认真研究过,就会陷入尴尬的境地。所以在回答这些问题的时候,不要太急于回答。你不妨先想一想,并有能力预测面试官会问什么样的问题来回应你的回答。就像上面的例子,当面试官问你最近读的书时,你不一定要选择最近读过的书,而是应该选择一本你读得很透彻的书,面试官才会感兴趣的书,让接下来的沟通得心应手。总之,平时积累为王。2.表达你的技术爱好。在正确的公司进入错误的职位,就等于在正确的学校被错误的专业录取。所以请记住,你的最终目标不是进入公司,而是进入你最想工作的公司的部门甚至项目组。因此,了解面试官是哪个项目组也很重要from,因为面试官可能跟你想去的项目组没什么关系。跟技术方向不对的面试官面试你是不好的。这时候你要明确表达自己的技术方向,注意你想加入的项目组有没有可能接纳你。如果你发现该组招人少,或者很难加入,你需要考虑是否有同样的热情加入其他项目组。不服从分配可能导致你一无所获。你之前的面试表现越好,你在这一步的选择就越多。3.态度和情商。如果你面试的次数多了,拿到的offer多了,你心里应该有一个感觉,平时在最后面的时候,你是多么希望拿到offer。如果感觉不对,另一方面,您需要更加努力地表达自己的优势。最先打动面试官的可能往往是你的真诚和热情。当面试官问你有多少offer时,不要害怕回答。Offer是公司对你能力的证明。获得Offer的学生更容易受到青睐。通常如果你有公司最大竞争对手的offer,你可以尝试追求更好的职位和待遇。但是不要拿这个来要价,除非你很优秀,人家硬要你。T3,Tx公司可能会问你一些奇怪的问题。例如,A公司问你它的竞争对手B公司怎么样。很多计算机专业的同学,思维太死板,说实话,比如“B公司是最好的xxx公司”之类的,就这样彻底死了。你可以说“A公司的优势在于xxx,而B公司的优势在于xxx。但是在我看来,我更欣赏A公司的xxx,因为xxx”就是这样,他们的面试和T1、T2公司的面试有很大的不同,你要学会避重就轻,这不是谎言,是策略。写在***只要你的资历不差,有针对性的努力,拿下国内IT巨头的Offer并不难。***,请记住你的技术生涯才刚刚进入下一个阶段,新一轮的迭代,技术之路最公平也最残酷的理由是:没有捷径,需要日积月累,需要对技术有恒久的热情。