目录

1.职业规划。

2.刷题。

3.看书。

《剑指offer》

《数据结构算法与应用:C++语言描述 》

《Effective C++》

《C与指针》

4.异步刷题。

5.未来。

C/C++

TCP/IP 和网络编程

Linux服务器开发

其它


这也是一个总结2018年7月的博文。

1.职业规划。

在各公司的招聘网站看岗位需求具备的条件。我确定了求职大方向。c++工程师和算法工程师(图像处理;视觉开发)。

可见这两个岗位的核心都是具备 精通C/C++ 的技能。

我决定先从c++开发开始学。

作为一个c++开发者,必须具备的技能如下。

我求助了本科学长狗哥关于刷题的方法。

开始刷题。

2.刷题。

我刚开始刷题是刷基础小题,没有经验。大概就是把所有面试会考的题库都包括,然后从零开始刷,边刷边做错题记录。后来我发现这种效率很低,没有专项训练,也没有系统地去学每个分支体系,顶多是应试罢了。

然后我放弃了题海战术。

开始看书。

3.看书。

《剑指offer》

第一本书是《剑指offer》,里面有66个题目。书的结构如下。

基础知识

  1. 编程语言
  2. 数据结构
  3. 算法

高质量代码

  1. 规范性
  2. 完整性
  3. 鲁棒性

解决问题的思路

  1. 画图
  2. 抽象问题具体化
  3. 复杂问题简单化

优化效率

  1. 时间效率
  2. 空间和时间效率平衡

其它能力

  1. 沟通和学习
  2. 知识迁移
  3. 抽象建模
  4. 发散思维

两个面试案例

开始每天下班回来看一个题目。因为很久没编程。所有最开始的几道题我做得非常艰难,阅读解决思路,然后复制答案,就修改了几处就在在线编程中运行测试。实际上还是无法自己写出这样的代码。然后我做到了第七题的时候,我就开始认认真真地分析思路,并在草稿纸上默写出自己的代码,画图分析数据结构。这种方法大大加深了我的印象。我开始自己在在线编程上写代码调试了,测试结果也accept了,当时是非常喜悦的。我开始每天这样,一天做一个题,就很满足了。

知道我看到了算法部分。第11题。已经开始有点看不懂了,因为C++基础并不牢固,我看答案的时候,对于&的含义都模糊不清。而书中并没有详细的说明。可能这些都是基本常识。这时我意识到我该回去好好补补算法基础了。


我求助了本科同学,武大cs专业。他现在已经拿到了offer。

他推荐了两本书,《算法导论》。《深入理解计算机系统》。

我买了 《数据结构算法与应用:C++语言描述》。《深入理解计算机系统》。

第二本真的太难了,我不打算看完,准备作为参考书,工具书。

开始看第一本。


《数据结构算法与应用:C++语言描述 》

这是一本讲算法的书。都是每天下班后晚上看的,所以花了几天才看完了第一章 (c++回顾)。

函数与参数

  1. 传值参数
  2. 模板函数
  3. 引用参数
  4. 常量引用参数
  5. 返回值
  6. 重载函数

异常

  1. 抛出异常
  2. 处理异常

动态存储空间分配

  1. 操作符new
  2. 一维数组
  3. 异常处理
  4. 操作符delete
  5. 二维数组

自有数据类型

  1. 类currency
  2. 类的封装
  3. 操作符重载
  4. 友元和保护性类成员
  5. 条件编译语句

异常类

递归函数

  1. 递归的数学函数(阶乘,斐波那契数列)
  2. 归纳证明法
  3. c++递归函数(阶乘,求和,排列)

标准模板库STL

测试与调试

主要讨论了C++的特性。很粗略。但是给我了一个非常不错的学习C++的框架视图。我认为我有必要更深入去研读C++的原理。尤其是标注成红色的内容。当我终于看懂递归方法的全排列的时候,豁然开朗,算法真的很有趣,数学也很美,尤其是完全理解了解决问题的思路后。当我看到STL时,我依然弄不清楚底层的算法,意识到光是STL就可以让我好好学习很久了。

这个时候我有点不想继续看这本书后面的知识了。因为我觉得我的C++基础知识真的很薄弱。然而我又不想从头开始看那本厚厚的primer,我这时候翻出来我很久之前买的一本《Effective C++》,我的计划是从框架体系入手,也就是从高级开发的角度入手,再去追求细节的完美。过分讲究细节会拖延我的进度。因为我还有很多东西要学。tcpIp网络编程,还有tmp,Linux之类的。这是条不归路哈哈。

开始看《Effective C++》。


《Effective C++》

这是一本超级酷的书。尤其是翻译者。翻译的太好了!

学一个语言的最终目的就是去学会去应用它,而这本书告诉你如何更优质地去使用这门语言。对于一个没有写过自己独立程序的人来说,这本书可以帮助我从一开始就养成好的编程习惯。

对于其中的C的细节,我都会在《C与指针》里面找到解释。

开始看《C与指针》。作为参考。


《C与指针》

这本书既基础又深刻,关键还是97的老书,C99版本之前的。所以有的细节我读的都很费力。

同时这也是这本书的优点,这本书真的太细了!我看了二维数组,讲解的非常细致,好好看,就会理解的很深刻。

但是弄懂细节需要大量的时间。

这是一个时间分配的问题。也许我看多了自然就知道怎么处理了。

4.异步刷题。

后来我无聊的时候,就开始刷C++专项训练的题。只不过现在的刷题不是为了刷题,而是无聊刷题,所以我叫它异步刷题。

比如出去胡吃海喝的时候,我就刷个五题。

拉屎的时候,也来个五题。

刷牙的时候,来个五题。

睡前,再来个五题。

有次做得太兴奋了,搞得失眠了,所以不建议睡前刷。睡就好好睡。

也有段时间,因为想搞懂题目,花了很多精力去查资料。导致进程卡死。但是刷题的目的是为了查漏补缺,不是学习。

5.未来。

C/C++

  1. 试图寻找些开源项目自己看。现在的水平不够。
  2. 读读STL源码。

TCP/IP 和网络编程

Linux服务器开发

其它

  1. 把简历做得更好。
  2. 还要花时间去做个PPT,告诉老板我在想什么,为什么不在公司实习了。

总之未来会很忙很忙。

我的offer之路(一)的更多相关文章

  1. 二本非科班,秋招,实习,面试,offer之路

    不知不觉已经工作一年多的,我是2019年7月毕业的,但是如果算上实习就工作差不多两年了的吧. 最近不是刚刚过了圣诞节吗?然后又准备到元旦了,迎来2021年!在微信公众号上看到小部分公众号在总结2020 ...

  2. 痛吻过YY寻找到真爱的三非渣本春招之路

    写下这篇文章可能就不是大家乐于见闻的面经了,更多是深入一些面试细节. 前言 我猜拿到了BAT等一线互联网公司Offer的小伙伴或者那些老鸟看到这条标题的时候会不屑一顾,认为YY这种级别的公司是属于二线 ...

  3. 面试杂谈之我的实习求职之路(7个offer)

    现在是5月11号,刚从北京到家,总算也可以歇歇了,最近一段时间真是忙于奔命的感觉,也确实体会到了找工作的艰辛,总而言之,求职之路,如人饮水,冷暖自知. 我想把这段时间找工作的体验和经历分享出来告诉大家 ...

  4. 求职之路(拿到百度、美团、趋势科技、华为offer)

    求职之路(拿到百度.美团.趋势科技.华为offer) 版权所有:无缰之马chhuach(CSDN和博客源),转载请注明出处.CSDN地址http://blog.csdn.net/chhuach2005 ...

  5. 秋招打怪升级之路:十面阿里,终获offer!

    本文转载自:https://gongfukangee.github.io/2019/09/06/Job/ 作者:G.Fukang 开源项目推荐: JavaGuide: Java学习+面试指南!Gith ...

  6. 程序人生|从网瘾少年到微软、BAT、字节offer收割机逆袭之路

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

  7. [转]9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路

    1,简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾. 首先说说我拿到的offer情况: 微软,3面->终面,搞定 百度,3面->终面,口头of ...

  8. 【转】如何拿到半数面试公司Offer——我的Python求职之路

    原文地址 从八月底开始找工作,短短的一星期多一些,面试了9家公司,拿到5份Offer,可能是因为我所面试的公司都是些创业性的公司吧,不过还是感触良多,因为学习Python的时间还很短,没想到还算比较容 ...

  9. 如何拿到半数面试公司Offer——我的Python求职之路

    从八月底开始找工作,短短的一星期多一些,面试了9家公司,拿到5份Offer,可能是因为我所面试的公司都是些创业性的公司吧,不过还是感触良多,因为学习Python的时间还很短,没想到还算比较容易的找到了 ...

随机推荐

  1. Beanshell vs JSR223 vs Java JMeter脚本:性能关闭你一直在等待!

    有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能.查看最流行的扩展机制,比较性能并分析哪一个是最好的. 这是乐队之战,JMeter风格. Beanshell V. JSR223 V ...

  2. I.Algorithm Choosing Mushrooms

    链接:https://ac.nowcoder.com/acm/contest/908/I 题意: Baby bear and his good friends are very fond of mus ...

  3. K.河北美食

    链接:https://ac.nowcoder.com/acm/contest/903/K 题意: icebound最喜欢吃河北菜,于是他想要大厨做一桌河北菜宴请宾客.icebound购买了一些食材,并 ...

  4. Memcache未授权访问漏洞利用及修复

    Memcached是一套分布式的高速缓存系统.它以Key-Value(键值对)形式将数据存储在内存中,这些数据通常是应用读取频繁的.正因为内存中数据的读取远远大于硬盘,因此可以用来加速应用的访问.本文 ...

  5. sql-monitore 的bug 。

    http://www.mamicode.com/info-detail-1659243.html 存储过程无法做 sql -monitor , 而存储过程跑的sql (只能通过awr 报告来看sql_ ...

  6. python 3 学习字符串和编码

    字符串和编码 阅读: 895464 字符编码 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字 ...

  7. 045 Jump Game II 跳跃游戏 II

    给定一个非负整数数组,你最初位于数组的首位.数组中的每个元素表示你在该位置的最大跳跃长度.你的目标是用最小跳跃次数到达最后一个索引.例如: 给定一个数组 A = [2,3,1,1,4]跳到最后一个索引 ...

  8. 转Keil 中使用 STM32F4xx 硬件浮点单元

    Keil 中使用 STM32F4xx 硬件浮点单元一.前言有工程师反应说 Keil 下无法使用 STM32F4xx 硬件浮点单元, 导致当运算浮点时运算时间过长,还有 一些人反应不知如何使用芯片芯片内 ...

  9. Typora--Draw Diagrams With Markdown

    Typora Typora supports some Markdown extension for diagrams, you could enable this feature from pref ...

  10. Java基础学习_01 概述及环境配置

    一.概述 1.Java语言平台版本 1.1J2SE(Java 2 Platform Standard Edition)标准版 为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可 ...