向大学说拜拜——大学 > 兴趣 + 时间 + 思考 + 实践

【人物素描】面试

  大学期间,担任过班委,加入过学生会,参加过社团,拿过奖学金......而印象最深入的莫过于参加并组织过ACM集训,以及参加过导师的国家天然科学基金项目了。毕业时顺利拿到一波offer并在腾讯SNG-PC客户端开发工程师岗和百度大数据部-机器学习数据挖掘工程师岗之间艰难抉择,最终放弃了企鹅,众里寻他签百度。算法

 

【兴趣是最好的老师】数据库

  201294日晚,刚来到大学的我对大学充满着好奇,憧憬着接下来的四年里丰富而美好的大学生活。当时我来得有点早,寝室还没分配好,就暂时住在学长们的寝室里。学长们很热情,对我说他们的书不少,能够随便翻看,就这样,我大学接触的第一本书即是《读大学,究竟读什么》,如今想来,里面的不少内容对个人大学成长仍是颇大的(后面将会提到)。编程

  大一,忽然融入一个新的环境,新老师,新同窗,新课程,而此时也正是培养兴趣点的重要时刻,毕竟大多数人对将来的四年仍是懵懂的。大一里,我对C语言慢慢的产生了兴趣,从不喜欢提早预习的我总能提早一步预习完,甚至比老师上课的节奏快不少,一下课我就去向老师请教仍然不理解的点。课后也会主动把课后习题本身作出来。因为当时尚未电脑,便手写代码,人工检查。后来有只室友带了一个台式机到寝室,我就隔三差五在他电脑空闲时把我平时积累的手写代码敲出来,检查写得有没有问题,就这样我愉快地学完了C语言。大一下,学校又开设了数据结构和C++,此时我发现学校发的课本根本知足不了我了,错误多且讲的并不全,我便常常跑去图书馆借书来一块儿看,弥补课本上没有讲到的知识点。小程序

  大二,正值导师的项目招人,想着在项目中可以接触到更多新奇的东西,也许能更好地挖掘和培养本身的兴趣,我便抱着去试一试的心态加入了。没想到,一入项目深似海,余下三年成路人。在项目中我发现原来本身写的代码能够作这么多事,能读取和处理图像,能模仿神经网络的链接来实现机器的智能学习,能和人进行交互并概括一些事物的规律......更激起了我对编程的兴趣,也促使着我更努力地去学习更多的知识来充实本身。服务器

  如今,我能够确定的说,正是由于当初对编程创建起的兴趣才让我顺利地走上了编程的道路,在这条路上我没有感到艰辛亦或后悔,偏偏相反,编程的过程带给了我许多快乐!网络

 

【时间是最宝贵的财富】数据结构

  大学相比高中,最明显的特色就是本身能掌握的空余时间变多了。高中,天天的时间都像已经被学校裁剪好的方格,吃饭、睡觉、玩耍靠后站,其他的即是一节节课程的学习时间了。而大学,咱们对时间的分配有着绝对的主动权,却惊愕的发现身边不少人失去了高中的激情,更沉迷于打游戏,陶醉于看视频。有段时间我曾反复问本身:高中为何要那么拼,难道就是为了如今在大学能随便消遣?不,个人心里告诉我:那时候,也许是为了本身心中的梦想,亦或是为了回报爸妈及老师的期待,亦或只是由于学校的制度,那时的咱们必须珍惜时间用来学习,为考得一个好成绩,上一所好大学。而大学的咱们,要为了本身!如今消遣的确是过得舒坦,可是几年后毕业的时候,是否是就会应了那句话“毕业即失业?”而后又在“最难就业季”中徘徊并迷茫着吗?并发

  若是说世界上有一种东西是公平的,那必定是时间。人总会去仰望别人,为何A那么牛?为何B什么都会?而仔细观察他的生活就会发现,由于他能在别人玩耍的时刻抓紧时间学习,充实本身。固然,收获的多少并不必定与付出的时间成正比,还与学习的方法等有关,但我相信也许“天道不必定酬勤”,but“天道必定不酬懒”。因此我一直坚信,若是我作得不够好,必定是我专心作这个的时间还不够长,或是个人方法还不对。因此无论作什么事,我都尽可能找到最适合本身的方法,充分利用本身的时间把它作到更好。机器学习

  到了大四,课基本没了,空余时间更多了。固然要面临的也就更多了,艰辛地找工做或者是奋力地考研。找工做的时候就会发现出来混老是要还的,过去三年里没有认真上的课,没有记住的知识点,会在求职过程当中显露无疑。身边不乏有这样的声音:“要是当时认真听一下**老师讲的课就行了”、“要是当时大一大二没那么贪睡贪玩,多学点东西就行了”“要是...就行了”,但是,过去的都已通过去,时间不会再给咱们第二次机会让咱们从新来过。因此,咱们要作的,莫过于珍惜每一秒可以珍惜的时间,作本身想作的、该作的、要作的事。

  《读大学...》中有说到一句:“草木能够在校园年复一年地生长,而咱们却注定要很快被另外一群人替代……”。大学四年一过,学校里的什么东西咱们什么都带不走,咱们惟一可能获得的就是这四年里收获的知识、经验以及人脉,因此当有人问我大学里最大的收获时,我想就是这些吧。校园生活中,常常能够听到相似于“老学长”的说法,我想,这个老不只仅是说年龄上比学弟学妹们要大,还表明着另外一种说法“老油条”吧,大一大二广泛比大三大四的更有激情。时间能够证实不少东西,同时,时间也能够带走不少东西。大学里咱们能保证不被时间带走的就是已经扎根到咱们大脑里的知识了,因此在大学这段时间里知识的积累即是最大的财富。

 

【思考是进步的必经之路】

  “一个通过独立思考而坚持错误观点的人比一个不假思索而接受正确观点的人更值得确定……”——《读大学...》。不少时候,不是咱们不会学习,而是咱们不会思考。咱们可能已经习惯了被动的接受,而不是主动去思考。就拿我来讲,才开始接触编程时,我也是记住书上的说法和写法,而当要记的愈来愈多时,或者是在作须要进行变通的题目时就发现,以前没有通过咀嚼的知识点变得一无可取。我就尝试着去理解而不是记忆,看到一个语句或者说法不可以彻底理解,就仔细找前面有没有相似的铺垫,找不到再去其余书上找或者到网上搜别人的博客分享,再把仍然有疑问的记录下来,等课间时和老师探讨。好比在学习C++的时候,最开始只是在记忆书上的用法阶段,看了书上一个例子,就私觉得C++不过是改了下头文件,改了下输入输出的方式。而在我深刻思考以后才意识到这样的想法太幼稚了,由于这并解释不了为何会多出一句使用命名空间。通过思考和查证后得知,stdC++里最大的做用域,其中包含了众多标准库里可用的标识符,就连用来输入和输出的cin,cout都是std里定义好了的全局惟一的不可被复制的标准输入输出流对象。<<>>也不是当初C里的左移右移位运算,而是被重载了的运算符。每次当我认真思考的这些语句的时候,总会从一条语句中牵连出不少知识点,而每一个知识点又会让我对一个未知的领域有新的认识,从而可以不断让本身学到新的东西,不断地进步。

  之前我很相信书本上的东西,以为书上的知识表明着权威,可在我慢慢学会思考并推敲细节后发现,基本上大多数书上都会有或多或少的错误,让我想起了那句“尽信书不如无书”,今后我便抱着怀疑的态度去看书,有比较迷糊的点,不是去记住它,而是去思考为何是这样,本身实在想不明白就经过各类途径查证,有时候就是查着查着发现书上是错的。这里吐槽一下咱们的数据结构教材,不知是出于什么缘由,这么重要的课程居然用的是咱们学院本身编写的错误连篇的教材(但愿学院在选书的时候慎重考虑,毕竟数据结构原本就比较难,对于编程人员来讲重要性就更不用说了),固然这些错误也让我更加坚决地多去图书馆借书看,当多本书对某个知识点的说法不一致的时候,天然也是使用的人最容易理解错的地方。随着借书愈来愈多,我发现机械工业出版社和电子工业出版社出版的计算机相关书籍质量仍是相对比较过硬的(插一句,想找到某一领域比较好的书籍途径有不少,好比去看豆瓣书评、各大在线卖书商城的销量和读者评价、网上大牛分享的经典书单等)。

  不仅是在读书和编程,在任何领域想要学习和进步,都离不开思考,只有真正思考并理解了其中的真谛,才能融会贯通到之后的学习和生活中。与你们共勉一句颇有意蕴的话:“不把信息看成知识,不把收藏看成学习,不把阅读看成思考,不把储存看成掌握。”。分别表明咱们须要:概括总结、消化吸取、深刻思考、应用实践。(固然每一个人都有本身的理解)

 

【实践是检验真理的惟一标准】

  这句话咱们每一个人应该都听过无数遍,我最开始听到这句话的时候,也以为它像是一个空洞的口号,并不觉得然。直到大二,我才慢慢领悟,只有本身亲自动手去实践了一些东西,才能快速地去理解、掌握并运用它。大学,再也不是高中那样天天听着老师们的谆谆教导,作着那些为了应付考试的题目,更多地是经过本身去实践来不断地学习。就拿计算机学院都会学习的编程课程来讲,只是上课听听讲,下课作几道老师布置的做业是远远不够的,只有本身课下主动去理解相关的知识点,同时多看其余的书,并多练习手写代码,敲到电脑调试运行看执行结果,才能真正熟悉而后慢慢熟练。不动手敲出来运行,咱们永远也不会知道他们的运行过程,也不知道咱们本身写的代码是否是真的能够运行,就算能够运行,也不知道究竟是否可以获得想要的结果。还有不少书本上是没法教给咱们的,如调试技巧,编译选项,开发环境设置选项,项目属性配置等,都须要不断地实践才能真正掌握。

  在大一一次年级大会中,几位学长给咱们来了一场ACM宣讲会,因为我对编程挺感兴趣,并且这也是一个国际性的编程赛事,我就被吸引了,去报了名,并参加了协会的各类专题讲解和线上练习。期间在学院组织的程序设计大赛中顺利过了初赛,又接连过了中级赛和高级赛,有幸得到与其余过了高级赛的小伙伴一块儿去中国地质大学参加华中赛区邀请赛。虽然很遗憾没有在这场比赛中突出重围得到奖项,可是在这个实践过程当中让我收获了不少,开阔了眼界,结交了很多编程达人,还意识到了本身的不足。因为我自身缘由,错过了接下来的一次重要的暑假集训,此次集训分专题讲解了不少比赛中出现的题目类型,并进行集中练习,后来的区域赛都是依据此次集训中的成绩表现安排参赛队伍。在后来一次针对下一届的暑假集训中,正好我留校,就与其余两位小伙伴龚细军和段先宇一块儿组织完成了暑期集训工做。通过ACM这种系统的专题训练,让我对算法和数据结构更加熟练,也更加锻炼了我思考问题时的严谨性,毕竟ACM的题目陷阱巨多,稍有疏忽,满盘皆输。

  虽然大一我也有实践写书本课后习题的代码,并在电脑上调试执行,也参加了ACM训练。但我深入感觉到这样少许地实践只能让我熟悉这种语言的语法和数据结构相关知识,而不能让我学会去把它们运用到实际状况。所以我主动加入了导师的国家天然科学基金项目,但愿能经过项目中的实践来提升本身的编码能力和综合运用能力,同时拓展本身的视野。从项目中的演化算法分析到实现、图像文件的读取到像素级处理、OpenCV的安装配置到辅助库的编写和打包发布、演化算法到交互式机器学习、人工神经网络到演化函数矩阵、卷积神经网络到卷积自动编码器、受限玻尔兹曼机到深度置信网络、松散代码的拼凑到大型项目解决方案的集成与部署、自制软件系统本地测试到租用独立ip服务器进行线上运做、写一些小说明文档到申请软件著做权再到发表论文......

  经过这些实践,我不只在编码能力和习惯上有了很大程度地提升,并且在与老师以及项目组其余成员一块儿讨论中让个人团队协做能力、表达和沟通能力都获得了提升。在项目进展中,还会常常遇到不少对我来讲全新的问题,可能一开始是一无所知,从本身首先独立思考,到从网上搜集整理资料,再到与其余成员探讨,遇到的问题到最后都迎刃而解。如今回想大学生活,以为项目中的学习是让我以为最充实的一件事。而且很重要的一点是,这些实践是绝对不可能只经过课原本学到的,而必须是本身亲手去作,去思考,去探索。在找工做的面试中,这一点也体现地很明显,基本上都会考量应聘者的动手能力,最多见的就是当场手写代码了,相信这也是检验动手能力的广泛标准了。固然面试中的写代码,考验的不只仅是写代码能力了,还有语言表达能力——向面试官表述本身的思路,沟通交流能力——与面试官交流题目的隐含条件和要求,思惟能力——严谨性、创新性、发散性等。

  除此以外,我还喜欢在空余时间本身写一些小程序小工具。凭借对算法的热爱,本身写代码实现了身份证号的真伪校验以及自动生成有效身份证号,实现了Luhn算法完成了银行卡号校验;凭借对数据库的相关性分析,写了一个快捷查分客户端;出于对QQ的好奇,动手编写了仿QQ的聊天软件;针对经常使用截图软件必须获取焦点并编辑才能保存,简单实现了一个可以经过全局快捷键在不获取焦点的状况下后台保存截图。

总之,实践是不可或缺的,只有实践才能讲它们内化为本身的知识储备,只有不断地实践才能在适当的时候将它们运用自如。

 

【决心,信心,恒心,是实现梦想的阶梯】

  每一个人或多或少都会有本身的梦想,要想实现他们,首先就必须坚决不移地去向那个方向奋斗,只有下定决心,才会让本身老是想着逃避或退缩。其次就是信心,这也是一个可以起很大决定性做用的东西,以加入项目为例,可能老师在招人时并不要求加入的人什么都会,直接去给他解决问题,而是但愿带着一群有奋斗精神和学习能力的人一块儿来完成某项任务,若是是真的有兴趣,即便加入前什么都不会,相信在那种学习氛围下,以及老师的带领下,很快就能学到东西。再举个找工做时栗子,在互联网行业,国内企业中BAT阵营算是一线级巨头了,担忧本身的学校出身很差,或专业不对口,或项目经验不足,或学业成绩不是很好都是多余的,在成为定局以前,全部的指望都是有可能实现的,而事实上不少这些担忧都是无谓的担忧。要相信一个个体还表明不了一个学校或者一个专业的水平,项目经验也不是惟一的录用准则,学业成绩对于工做并无太大的相互关系。若是想去某个公司,或者某个职位,就大胆地去追求,固然也得有所准备,好比看对应的公司,相应的职位的招聘要求、基本技能的重视程度等。除了要自信,还得相信“机会只留给有准备的人”。最后还须要有的就是恒心,在编程这条路上,也许很漫长,也许很艰辛,即便只是学习一门语言,也不是几个月就能达到彻底掌握的程度。若没有恒心,一切都是惘然。

 

【写在后面的话】

  题解:大学要教给咱们的远大于找到本身的兴趣、充分利用咱们的时间、学会独立思考、学会本身动手实践。

  下面说一下关于我笔试面试经历。因为在实习生招聘阶段(3月到4月)以前没有太留意,错过了一大批笔试,匆忙中面试了腾讯和阿里结果显而易见。以后便不断补习计算机基础知识,经过看书和看大牛博客,而后本身总结重点、难点和盲点知识。重点复习了语言基础(个人方向是C++开发,因此天然是C/C++语言相关特性)、数据结构和算法(泛型编程)、操做系统(并发编程)、计算机网络(网络编程)、数据库(数据库编程)。这些零散的知识点平时编程中可能没有频繁使用到印象也不深入,可是在笔试和面试中极可能会考到,也是必需要掌握的知识,所以在笔试面试前要复习准备一下颇有必要。

  7月份开始就有一些公司开始了校招内推流程。我收到了阿里的电话面试(算法工程师岗),面了1个多小时,因为面试经验仍不足并且对于面试官提出的大数据量上的算法知识很是薄弱,就没了回音。以后专门花时间把大数据量相关的算法研究了一遍,并本身动手实现了部分算法。BAT这类大公司校招较早,在8月底9月初就开始了在线笔试,我顺利经过了百度腾讯的笔试,阿里今年出现了大量缩招现象,没有了后续环节。笔试中基本原理和计算类题目与课本知识相关性很是大,此外还有智力题,以及编程题和算法设计题。

  笔试过了以后就不断看各类其余人分享的面经,了解面试中可能问到的问题以及须要注意的事项,固然还有一些礼仪问题。

  面试环节一般会问到基础知识和项目经历以及遇到的问题和解决方案,这些最好提早能多整理整理,若是到了面试时才开始考虑的话若是一紧张就一定答很差了。基础知识的话问到最多的就是所报职位相关的语言基础(这个必定要拿手),而后就是算法和数据结构(不限职位的重点,会配合手写代码一块儿考)。因为我大一就常常在纸上手写代码,因此并无以为不适应,而且在百度三场面试中均有手写代码,最后面试官比较满意,给个人评价是动手能力(编码能力)很强。

  面试过程也是一个学习和交流过程,毕竟每一个人的知识结构也会有所不一样,面试官能够经过不一样应聘者的表现来审视哪些人值得录取,一样应聘者也能够经过不一样公司的面试问题和体验来考量哪一个公司更适合本身,并且还能找到本身知识结构上的短板,不断强大本身。总结一句就是:面试最重要的不是要求咱们什么都会,而是尽最大努力去展示本身知道的东西,让面试官相信咱们适合这个职位,适合这个公司。(ps:我本身总结的知识点汇总和面试过程细节能够百度“博客园 闻波”查看)。

  最后,谢谢李老师的邀请,写了这篇自我总结。不知道读者能从这里收获到什么,暂且但愿大学生活还没过完的亲们看到这个后能更加珍惜余下的时间,经过认真思考和不断实践去进步和成长,找到本身的兴趣点,拥有强大的决心、必胜的信心、持久的恒心,早日实现本身的梦想!

  同时谢谢给我提供了这个项目机会并一直在项目中耐心指导的导师刘老师;一路上亦师亦友,给了我很大的动力和信心。

相关文章
相关标签/搜索