我也来谈一谈读书(二)——读哪些书

By | 2018年1月20日

这个系列的上一篇文章是《我也来谈一谈读书(一)——读书的意义》,很久以前写的了。

如果你能理解上一篇文章中阐述的一些内容,那么读哪些书就会很容易想通了。

读书的意义是什么——间接经验。你需要读哪些书,决定于你想要获取哪些间接经验。

如果你想对经济运转的规律有所了解,那么就需要看经济学方面的书籍;你想要成为编程达人,那么就需要看程序设计领域的书籍;你励志成为小说家,那么就要多读文学著作,多去体会人生。

对于每个人来说,都会关注自身的发展,所以我仅仅从个人的提升角度,来分享一些经验。

个人的发展需要读哪些书呢?我认为可以考虑以下几类书籍:

心理学。对于每个人来说,相处时间最久的,必然就是自己了。大家可能都听过伟大的心理学家弗洛伊德对每个人内心的划分吧——“本我”,“自我”以及“超我”。这三部分意味着什么我就不在此展开了,不过我想大家都经历过一些心理上的矛盾或者郁结:我认为什么样是对的或者是好的,而我又做到了么?我想成为什么样的人,而我最后又做成了什么样?我们在遇到一些事情内心可能会挣扎,在阅读心理学的一些著作的时候,就能更快的找到答案。当然,心理学的作用可远不止于此。决策时人们容易犯哪些错误?在群体中人们会有怎样的表现?为什么我们会常常拖延?为什么我们感觉记忆深刻的内容某个时刻大脑中就突然搜索不到了呢?这些问题在心理学的相关书籍中都有所论述。

经济学。在人的一生当中,钱,还是挺重要的吧。勤恳的工作当然能为我们带来稳定的收入,但是那些收入超过了常人、甚至是实现财务自由的人,一定不是仅靠勤恳的工作才获得这些令人羡慕的财富的。想要更快的赚钱,了解经济运转的规律,就显得尤为重要了。而这些,就是在经济学的相关书籍中阐述的。不是每个人都想成为经济学家,不过,当我们对经济的运转有了更多的认识之后,会对身边的财富分配产生不同的理解。这些理解和更深入的思考,都能让我们更好的决策——买房,投资,甚至选专业——从而实现资产的增值或者收入的增加。

人物传记。比尔盖茨想让每个人都能用上计算机,这让他打造了PC上最受欢迎的windows操作系统;乔布斯坚持自己的审美哲学,于是他重新定义了手机——将iPhone带给了世界;毛泽东同志希望中国人民能够站起来,最终带领中国共产党建立了新中国。当然,值得敬佩的人们不止于此,各个领域杰出的人也都有对应的人物传记。了解这些出色的人的生平,站在他们的角度去分析问题以及当时的困境对他们的影响,对自己也是一种提升。毕竟,我相信,大部分人在初生于世之时,都会想过要完成一些令自己自豪的作品吧。

小说。其实,小说是对我们生活在「当下」的一种补充,甚至可以从中借鉴一些经验。余华的《活着》能让我们感受到国家动荡时期人们生活的一些惨状以及经历磨难的一些态度;建立在基础科学上的《三体》虚构了宇宙一隅的一次战争,在赞叹作者超群的想象力之余,还能发现当今科技发展的一些趋势真的犹如文中所描述;《三国演义》刻画了众多的人物形象,其中将不同势力之间的斡旋与争斗展现的淋漓尽致。记得有次和同学闲聊,请教他们如何追妹子,有个家伙说道「你难道没看过都市言情小说或者类似的电视剧么?那里面的内容就是教你如何追妹子的啊」(我回答到,「没有」)。

当然,我们还需要积累自己专业上面的知识。每个人的方向不同,大家在以后工作中肯定也会接触到,这里我就不做讨论了。

我没有对每种类别的书籍做一个详细的书单。其一是因为我的阅读量还很少,二是由于网上已经能搜到足够多的reading list了。不过我倒是愿意在此简单地介绍一些适合入门的读物,算是对我读过的书和踩过坑的一些经验分享吧。

心理学中的《心理学与生活》这本书非常适合入门(国外已经修订到第20版,我在中国很少看过有书籍会修订如此多的次数的,这足以看到外国治学的严谨。同济大学的《高等数学》是我见过修订次数最多的书籍之一(6次),而且也非常出色,不过还有很多高校编那些坑自己学生的高数书),而且覆盖面很广,通俗易懂;《决策与判断》能让我们在日常决策时判断的更准确;《改变心理学的40项研究》用一个个心理学实验中的实例,让我们了解了大脑工作的一些特点。对于经济学而言,曼昆的两本《经济学原理》(这本书原版是哈佛大学、耶鲁大学、斯坦福大学经济学原理课程的教材)就差不多了。国外的教科书有个特点,都是以故事来展开,生动有趣;而国内的教科书都是以概念原理堆砌起来,让我这样水平较低的人望而却步。虽然上面几本书有几本是大部头,不过依然能够让人有兴趣读下去。

人物传记和小说的种类太多了,也没有什么门槛而言,而且每个人想看的方向也不同,在此就不列举了。

你想要获得哪些间接经验呢?就去读对应的书吧。

2018计算机校招的思考

By | 2017年12月30日

校招是玄学,人品很重要。上面十个字是真的,当然除开那些大神。

经过校招之后,我分析得出的,计算机专业应届生招聘的一些特点:

  1. 互联网公司多。互联网公司(招聘)多带来的一个直接影响就是,互联网公司的笔试都是在线笔试,这和以往的现场笔试不同。
  2. 应聘学生多。应聘学生多的一个直接影响就是,每个公司在面试的时候,不可能对每个学生花去很多的时间。
  3. 持续时间长。因为最近几年出色的程序员和算法工程师需求太大了,所以很多公司(尤其是互联网公司)想了各种花样的内推,有些公司甚至从前一年(对于2018届校招来说就是2017年)的5月份就开始有提前批了;结束一般是到十月底、十一月初(大厂一般是这个时间段就结束了,有些初创公司会再晚些)。这带来的影响就是,找工作的战线也会拉的很久,如果是一直没获得自己心仪的offer的话,人是很累的。
  4. 考核内容多且杂。这样就会导致面试者需要准备的内容就特别多。

所以,对于求职者而言:

  1. 偶然性大。面试官喜好的偶然性:面试官是做什么技术方向的?是喜欢什么技术方向的?面试管是喜欢偏技术的人才,擅长交流的人才,还是思维跳跃、能够跳出常规解决难题的人才?面试公司以及方向的偶然性:今年这个公司这个岗位准备招多少人?还缺多少人?
  2. 应聘不同公司要有针对性的准备。不同公司,使用的技术栈是不同的,要及早去了解。比如,腾讯、百度,后台招的C++比较多,而阿里和其他新兴互联网公司几乎全是Java。而对于算法岗,不同方向也是不同的,据我了解,研究生做算法大部分偏工程,而且听说有些公司或者部门的算法岗大部分时间做的事情都是洗数据。这些,都是需要提前了解,不然,很多和自己想象的方向是差别很大的。
  3. 要有取舍。很多公司的笔试时间都是接近甚至相同的,所以要有准备性的选择。

如果你看完了我的面试经验,会感觉到面试太水了,除了网易游戏问了点技术知识,今日头条的面试技术考核比较全面之外,很多公司感觉都是水过来的。甚至,我回忆了一下今年的校招(估计往年估计也是差不多),可以总结出一个通式来总结校招考核的内容:


经历
+(遇到的难题+如何解决+收获)+包装。


如果你有一个某个方向上尚可的经历(这里的经历可以是实习、给导师干的工程或者是天池等比赛等,甚至可以是自己因为兴趣,长时间专研完成的一些事情),几乎面试的过程就是简历上的经历
+难题+解决方案+收获了。在聊你的经历时,面试官会带着询问有关的一些知识点,然后还有你简历上写到的擅长的技术。

如果没有我上面说的经历,那么几乎就是看面试官熟悉的方向了,这样就会比较被动。面试官感觉重要的就会问,你不会他就会感觉你不合适。


我个人认为,有一个尚可的经历去面试是相对占优的(其实也不能说这就是占优,这也是努力的一种侧面的体现。因为努力,才会有好的实习或者好的比赛结果。或者,你感觉实习或者比赛刷分太浪费时间,也有大神是简历上写明做过编译器,熟悉
linux内核(是真熟悉),读过XX源码等)。这样其实就给面试找了一个主题,面试的基本方向就是围绕着这个主题来,自己能够做的准备就更多。而如果真的是面试官随便问,你也不清楚他对哪个方面比较看重,就会比较吃亏。


我还发现了一个有趣的现象。如果你有一个很不错的经历,比如有一个好的实习(
BAT,微软、谷歌或者在某个方向知名的公司等)、中了顶会论文或者在某个国内知名的实验室等,面试的公司想要你了(或者觉得你是一个不错的后候选者的时候),面试的问题可能都会简单的。因为一个出色的经历,已经能证明你的学习能力、交流能力等等,而这经历所证明的(你背后的努力),可能比一个小时甚至更短的面试的结果来的靠谱。经历聊完,如果感觉你基础扎实,就应该没问题的。


而且在校招的过程中,感觉会表现自己(即包装)真的是很重要的,我拿到的几个
Offer就是运气成分大一些了。而我身边有些同学,确实感觉是比较吃亏的,他们不太爱说话,在现场面试的时候感觉就比较被动(当然这个也看面试官,一个优秀的面试官绝对能从大部分不同性格的面试者中获得需要的信息,但是你不能保证你遇到的面试管都是优秀的)。举个例子,我美团三面的时候,把自己的电脑给带去了,把微软实习中做过的一些总结和一些展示的ppt给面试官看,我感觉这个给自己加分了很多。而这样的举动,像我身边有些“标准”程序员的性格的人(默默做事,只爱解决问题,不太爱言语)来说就不太可能出现(当然,我不是说带着电脑去面试就是很好的选择,我想表达的是,找到一种不错的方法,把自己的长处给充分表现出来)。


最后,我还是想说一下,调整心态的重要性。
校招是玄学,人品很重要。面试的过程中,偶然性太大了,一次面试结果不好,真的代表不了什么。计算机的校招很早,而且持续时间太久了,如果某次糟糕的结果影响到了心情,乱了心态,真的太不值得了。了解自己的强项是什么,把强项发挥出来;了解公司以及岗位的要求是什么,有目的的“抓差补缺”;一次面试有一次面试的收获,最后都会有个不错的结果的。


一些
Tips:

  1. 学历是有用的。985,211的学历可能就会筛选掉不少人了。
  2. 多面试,面试对增长面试技巧很有帮助,即使不去实习,也要面试,知道自己的不足,有方向的弥补。
  3. 多认识学长,内推很有用的。当然也可以后台给我发消息,我也能内推的。不过我不保证给每个人都内推。每个人的时间经历有限,还望理解。

2018届秋招网易游戏面试经验分享

By | 2017年12月26日

网易游戏的面试是最像正常面试的了。其他的感觉就是在聊天。

  • 一面:

一面当时有两个面试官。上来是自我介绍,询问实习经历+难点+解决。我的课题是深度学习,他们应该不太了解,没问。之后是询问C++,智能指针以及不同智能指针的区别,同时询问了为什么C++11舍弃了auto_ptr,虚函数实现等。算法问了一个深度优先搜索:一个二维平面,上面有一些障碍物,问从一个点到另一个点的最短路径。后来还问了一些数据库的内容。最后还问了计算机网络方面的内容,三次握手,TCP和UDP等。

一面有些压力面的色彩在里面,面试官提问后会不断地追问,有时候你答对了也会反问你是否确定自己的答案,中间有几个问题,因为自己不太熟练,有点懵了。

  • 二面:

二面应该是级别比较高的一个人。上来依旧是实习经历+难点+解决+收获。然后询问自认为最出色的一件事情,以及为什么认为这件事情最出色。之后还问了一个问题,电梯都是有总控的,假设一个电梯间有两台电梯(不同的楼层可能会有不同的人按电梯上或者下),你在某一层楼按下电梯,如何调度两台电梯能够最优,这个题目我个人认为是考察我思考问题全面与否的。最后还问了我是跨专业,是否有人质疑过我跨专业(我个人理解是考察性格的,因为问题发散了很多,感觉这一面很多聊天的内容是了解性格的)。因为我不玩游戏,她本来有些与游戏有关的问题没问我。最后还问题意向岗位、城市以及预期薪水等等。