阿里和网易都已开放简历投递入口,本以为招聘季9月才开始的我,着实被震惊到了。

我还没准备好呢,远没有准备好。

这次日志,主要是想写三点。实习经历。接下来的计划。最后,自已在未来应该维持的心态。

关于实习

当初在两个offer之间犹豫了很久,一个是做C++开发的D公司,另一个是做Java开发的E公司。D公司保证能够参与到真实的大项目中,但E公司的名号实在是大,况且我希望转向Java开发,因此最终选择去E。

我希望将重点转向Java的原因是这样的,首先阿里做分布式开发的语言是Java,那里是我的目标。其次,我觉得Java语言的开发效率较高:3月份为paper的实验写代码时为了效率选择C++,但资源的释放,第三方库(线程池,大数)的引用把我搞的很惨,被这些东西弄晕后发现自己对整个代码的架构都把握不好了,人的精力有限,往往会出现鱼与熊掌不可兼得的问题,被细节磨得死去活来后可能会失去对架构的把握。做完试验后我感概颇多,我师兄对我说,重点是把项目搞完,别人一周做完的工作,你花一个月完成,代码写的再好,效率再高又有什么用呢。现在,我觉得这真是大实话,做事都是为了交差,老板们从来不会关心细节,只看结果,在这种情况下,将任务更快的完成才是重中之重。身边有好多同学对C++有一种崇拜心理(包括我),光是C++里的各种黑科技(技巧)就足以把我们迷得神魂颠倒,于是我们都迷失了,忘记了重点不是代码本身,而是写代码的目的。作为对比,显然Java语言就容易的许多,且有大量的库可以使用,自己只需要专注于逻辑,做java开发真心的感觉到 life is easier。

E公司是外企,伴有外企特点。令我印象最深的是几乎没有员工加班(没有加班的IT公司算是IT公司吗)。我所在的组只有5~6个人,实习生就我一个。来了这边接近一个月,只做了一件事,并且这件事的重点是搭建环境,带有少量的编程工作,大约一周完成。其余的时间,唔,太闲了,问组里的同事要过任务,他们表示不要着急,现在组里不是很忙。于是,只能再拾起C++,思考自己的退路。

马上就要到招聘季,实习经历对我意义非凡,而目前的形式却对我极其不利。我不禁感叹,为什么自已一出手,就会选那个最差的。回想自己挑的大学,研究生的实验室,以及现在实习公司,唉。我知道环境对人的重要性,更了解环境对我的重要性。我走到今天就是优先选择对我有利的避免接触对我不利的人和环境,我知道自己没有make everything out of nothing的能力,所以一旦环境对我不利,我就本能的有种心慌的感觉。现在,我真的感觉自己慌得要死。处处小心,还是走到了人为刀俎我为鱼肉的境地,实习招聘季已过,我的选择已不多,况且马上8月了,换家公司又能如何呢,刚过来我又怎么好意思走呢。我想,目前唯一能做的,就是为自己的未来做个计划。

关于计划

下周末约了师兄吃顿饭,希望了解下找工作具体要做的事和要看的书。其实这些东西我都比较熟悉了,找师兄只是为了心里安慰。当初找实习的经历可谓惨败,稍微总结下:网易游戏,C++基础知识,智力题。阿里,笔试题,概率题。eBay C++基础知识,设计模式,项目经历。腾讯,项目经历,网络编程,数据库编程。百度,C++基础知识,Linux基础知识,算法。按照实习的重要性排序,项目经历,C++基础知识,网络编程与数据库,算法,智力题。

若干资料:

编程之美

剑指Offer

leetcode

程序员面试宝典

effective c++

more effective c++

YFS总结

Paper实验

实习经历

博客

实习遇到的所有问题

若干数据结构,trie, 蓄水池,线段树,后缀数组,KMP

对于上面的资料,我也没法估计多久能够熟练掌握,只能压榨自己的空闲时间,尽可能早的完成上述内容。

关于心态

最近的工作不如意,已经影响到了我的心态。每当这时,总要列一下计划,明确下自己未来,找回迷失的自己。

我还记得考研那会,可能都11月了,我见到隔壁班的同学专业课还处于看课本的阶段,于是和他聊了聊,建议他加快速度。但他的回答却令我记忆犹新,他说不需要着急,考试之前能复习完就OK。我一般看资料,习惯是先过一遍,再过一遍,最后再来一遍,这样心里才不会慌。复习时,假如有我不了解的内容摆在我前面,我就会不踏实,所以就培养起来少量多次的学习方法,这种方法的好处是能让我踏实,但缺点是经常会给自己造成以全部复习过了的假象,在后来的复习中会越来越放松。于是我认为,那些敢只复习一遍或两遍的人,心理素质肯定足够强大。

对我来说,既然天生无法拥有强大的心理素质,那就通过后天的努力尽力弥补,我弥补的方式是列计划,做总结,尽力让事态的发展把握在自己手里,而不去考验自己的心理素质。

厚积薄发

高中时,有个同学说到厚积薄发,而这个词在目前(或者说未来)尤其适用,这是因为它能让我保持平衡的心态。我做了大量的算法题,熟悉分布式系统的一些细节,了解C++的黑科技,也有少量的项目积累,但目前的感受是完全用不上。我甚至幻想哪天boss对我说你是否了解XXX,然后我自信的说,Yes, I do(从中可以看出年龄的增长给人带来的心理上的转变,十年之前,我幻想的可不是这些东西)。

从过去的经验来看,幻想的东西几乎是不可能出现的,为了不能发生的事占用真实的时间是很不划算的,而我又不能否定自己的学习与努力,因此我打算用厚积薄发来解决这个矛盾。我尽量主动的获取知识与机会,但不会奢求这些行动能够得到什么实际的收益。这不仅是我当前的心理策略,也是我未来的。

All Default

上面说了很多C++的不是,但实际上我对语言本身的关注度是不多的。目前,无论是C++, Java, Python在我看来只要能完成任务就是candidate,哪个好用就用哪个。只不过目前鉴于求职的压力,必须选一个作为主修,并且这个选择还影响到未来的自身发展。Default的意思是尽量让脱离自己主观的看法,默认使用前人的建议。这和效率有关,我经常会做出改变再改变最后回到原点这类事,折腾了很久,浪费了时间却没有产生有益的价值。比如去搜索某一个资料,然后在搜索结果中发现了另外一个有趣的事,链接到那件事,看个究竟,再回到原来想要搜索的资料时已经过了很久。过去的经验告诉我,当知识在真正要用的时候学起来效率才最高,有些东西本身可能很有价值,但假如它与当前无关且当前我又有任务在身,这个时候我要做的就是尽最大可能早点完成任务,不要另生枝节。

这篇日志对我来讲,最重要的是厚积薄发和计划部分。目前实习,我有些不满的情绪,认为自己大材小用,认为自己的选择不正确,为了避免不愉快的事发生,我应该告诉自己发挥主观能动性,尽最大可能去做的最好,即厚积薄发。计划关系到接下来的找工作,从找实习的经历看来自己又很多不足,因此非常需要一个正确的导向来明确未来要做的事,上面所列的计划其实对自己的要求已经很低了,但目前已经7月底,我能做的也不多了。

回顾自己的上半年,总体来看结果不错,发了paper,找到实习,两件大事都完成了。但缺憾的地方又实在太多,paper的质量不高,出来实习又影响了与实验室其他老师,同学的关系(不是我的问题,但要由我来承担),实习内容神坑等等。从未来看现在,这些都是小事,包括paper,与同学老师的关系,实习等等,唯一重要的事就是接下来的复习和找到的工作。

“There is no solace above or below. Only  us... Small, solitary, battling one another. I pray to myself for myself.”

精神状态: Confused的更多相关文章

  1. 香蕉云APP,2016下半年开发日记

    2016-6-17  数据库设计不应该过多依赖范式,适度的冗余可以加快搜索速度,在服务器的配置还可以的情况下,可以采用冗余来解决查找慢的问题.还一个是要选择好数据库引擎,例如 InnoDB 和 myi ...

  2. 好好了解一下Cookie

    Cookie的诞生 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网站.目前最新 ...

  3. Concurrency != Parallelism

    前段时间在公司给大家分享GO语言的一些特性,然后讲到了并发概念,大家表示很迷茫,然后分享过程中我拿来了Rob Pike大神的Slides <Concurrency is not Parallel ...

  4. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  5. PHP 高级编程(1/5) - 编码规范及文档编写

    PHP 高级程序设计学习笔记20140612 软件开发中的一个重要环节就是文档编写.他可以帮助未来的程序维护人员和使用者理解你在开发时的思路.也便于日后重新查看代码时不至于无从下手.文档还有一个重要的 ...

  6. [摘录]第三部分 IBM文化(2)

    第二十二章 原则性领导 在一个组织程序已经变得不受其来源和内容的约束,而且其编纂出来的组织宗旨已经代替了个人责任的组织之中,你所面临的首要任务,就是要全盘抹掉这个程序本身,以便让整个封闭的系统呼吸新鲜 ...

  7. [转]An introduction to OAuth 2.0 using Facebook in ASP.NET Core

    本文转自:http://andrewlock.net/an-introduction-to-oauth-2-using-facebook-in-asp-net-core/ This is the ne ...

  8. [No000098]SVN学习笔记5-分支,合并,属性,补丁,锁,分支图

    行结束符和空白选项 在项目的生命周期中,有时可能会将行结束符由 CRLF 改为 LF,或者修改一段代码的缩进.不幸的是这样将会使大量的代码行被标记为已修改,尽管代码本身并没有被修改.这里列出的选项将会 ...

  9. [LeetCode] Binary Tree Upside Down 二叉树的上下颠倒

    Given a binary tree where all the right nodes are either leaf nodes with a sibling (a left node that ...

随机推荐

  1. Android训练课程(Android Training) - 测试你的Android Activity

    你应该开始编写和启动测试作为你的android程序开发周期的一部分.写的好的测试能够帮助你更早的发现bug和使你对你的代码有信心. 一个测试用例定义了一些对象和方法的集合,用于启动多样的彼此独立的测试 ...

  2. 【Python】 linecache模块读取文件

    [linecache] 过往在读取文件的时候,我们通常使用的是这种模式: with open('file.txt','r') as f: line = f.readline() while line: ...

  3. 使用STC-ISP向KEIL添加STC芯片头文件

    第一步:打开“STC-ISP”软件. 第二步:点击右手边“Keil仿真设置”,然后点击“添加型号和头文件到Keil中添加STC仿真器驱动到Keil中”. 第三步:在弹出的“浏览文件夹”对话框中,找到你 ...

  4. WebSocket和Socket的区别

    前段时间写了两篇介绍HTTP和WebSocket的文章,回复中有人说希望了解下WebSocket和Socket的区别.这个问题之前也有想过,自己对此是有大概的答案,可是并不太确定,于是去搜集了些资料( ...

  5. 【转】【VS Code】配置文件Launch及快捷键

     Ctrl+shift+p,然后输入launch,点击第一个选项即可配置. 之后选择More即可 具体配置可修改为: { "version": "0.2.0", ...

  6. Linux命令_磁盘管理_查看磁盘或目录的容量

    软件环境:虚拟机VM12,Linux版本 CentOS 7.3 命令 df (disk filesystem) 用于查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认以KB为单位显示 ...

  7. C++多线程中调用python api函数

    错误场景:一直等待全局锁. 解决方法: 一.首先定义一个封装类,主要是保证PyGILState_Ensure, PyGILState_Release配对使用,而且这个类是可以嵌套使用的. #inclu ...

  8. PHP做Web开发的MVC框架(Smarty使用说明 )

    PHP做Web开发的MVC框架(Smarty使用说明 ) 一.Smarty简明教程 1.安装演示 下载最新版本的Smarty-3.1.12,然后解压下载的文件.接下来演示Smarty自带的demo例子 ...

  9. 如何在linux中批量建立用户并设置随机密码

    Ubuntu是基于linux的免费开源操作系统,同时也是真正意义上的“多任务多用户”操作系统,既然是多用户系统,自然就涉及到创建多个用户的问题.同时由于Ubuntu系统中的root用户具有最高权限,无 ...

  10. TensorFlow-tensorboard可视化

    运行了很多次出现错误,错误原因在于运行tensorboard时,需要退出python编辑