《剑指Offer》读书笔记!想着新生活进发,加油!

话说,这不是很快就要找工作的节奏了嘛,虽然说一直以来在学校那都是绝对的乖乖女,别人逃课我不逃,别人上课睡觉咱就是眼皮粘在一起手里说什么也要拿着笔呀。还好,这么多年过去了,成绩神马的还说的过去,可是现在就要面临找工作了!除了成绩,,技能那才是能让你吃上饭的玩意儿呀!不好好准备的话,除了你那个二了吧唧的男盆友和你那一堆对你爱的死去活来的family,这世界上估计没人要你了!!!

冲着这个,还不滚去看书?!还不滚去coding?!还不滚去搞项目?!还不滚去实习?!

不作死就不会死(虽然到现在都没明白是啥意思。。。),燃烧起来吧,小宇宙!努力奋斗,为我想要的人生!

哎呀妈,鸡血注射完毕,决心已经下定,孩儿们,还等什么呢?

——————————————————仅以此献给爱打鸡血的励志姐lisa

很早以前跟老爸看电视剧,记得李云龙在《亮剑》里面说:什么是亮剑精神?古代剑客们在与对手狭路相逢时,无论对手有多么强大就算对方是天下第一剑客。明知不敌,也要亮出自己的宝剑,即使倒在对手的剑下也虽败犹荣,这就是亮剑精神。其实找工作说的恐怖点儿,不就是与人华山论剑么,胜者得意有饭吃,败者悲剧接着找。

在决定找工作之后,很多多年的好哥们儿给推荐了一堆摞起来比都教授大帅哥还高的书籍,各种宝典,各种秘籍神马的。从这些书里,我一眼看到了这本书,并决定以它开始,作为我求职之路的第一本书,逢敌亮剑,威武不屈。

长征路上的第一本书《剑指Offer》

因为之前已经很详细的看过了《C++ Primer》,对C++语言比较熟悉。因为目前在RedHat实习,所以一直都使用Linux平台工作的。所以之后的任何题目,都将采用C++语言在fedora 20 的平台上运行。

第一章

【*】关于面试的介绍

1,考神马: 初级程序员:数据结构+算法(基本功); 高级程序员:专业技能+项目经验

2,做准备: 公司进况+项目情况+热情+要问面试官的问题

3,平心态: 不紧张+不急着写代码+写前先沟通+整体设计和规划+不要急着提交(review+测试)

【*】三种形式

1,电话面试:描述的难度增大,要把细节说清楚,可能会有英语面试,不可不懂装懂,答非所问,要大胆提问 Pardon

2,远程面试(共享桌面):编程习惯(思考清楚再开始编码+良好的代码命名和缩进对齐习惯,可单元测试(先写测试用例再写函数会让面试官刮目相看))和调试能力(设置断点、单步跟踪,查看内存,分析调用栈)关于使用GDB对C++程序的调试的链接:

3,面对面面试『重头戏』:/迟到就去shi/,/邋遢就去shi/,/时间很长费精力,带点儿德芙巧克力吧,榛仁的最好吃,或者口香糖也好/,/准备几个你可以问面试官的问题/。

【*】三个环节

1,行为面试:过往经验(看简历),开始前5~10分钟,自我介绍(30s~1min)+性格+项目经验『作用:暖场,尽快调整情绪』

对于项目经验:按照STAR模式讲:Situation(简短的项目背景),Task(自己完成的任务,详细说),Action(为了完成任务自己做了哪些工作,怎么做的,详细说),Result(自己的贡献,详细说) 可能的问题:你在该项目中碰到的最大的问题是什么,怎么解决的?从这个项目中学到了什么?什么时候会和其它团队成员有冲突,怎么解决冲突的?

针对简历,好好准备项目经验的问题。

注意几个词儿: “了解”……上过课、看过书、但没有实际的项目,简历上少写这样的技能; “熟悉”……用的比较多;“精通”……得心应手,对很难的问题也知道,少用这个词儿

2,技术面试,占据40~50min,基础知识(数据结构+编程语言+算法)+高质量的代码(边界条件、特殊输入(NULL指针,空字符串等)+错误处理)+分析问题时思路清晰(针对复杂性问题提出的,可以举例子+图形帮助理解,一定不要急着写代码,考虑分治和动态规划的思想)+优化时空效率(努力寻找最优解)+学习沟通能力(软技能)

简单问题:要写出完整、鲁棒的代码;复杂问题:画图+举例,先理清思路再编程

整个过程,主动提问,弄清题目的要求;相关问题思路的迁移性(体现学习能力)

面试遇到难题:(1)画图使抽象问题形象化;(2)举例使抽象问题具体化;(3)分解使复杂问题简单化。

3,应聘者提问环节 :结束面试前的5~10分钟,至少问1~2个,来表现你感兴趣。勿谈薪水。勿问结果。问与职位或项目相关的问题。

印象最深的话,摘录如下:

1,“‘神马’都是浮云,应聘技术岗位就是要踏实写程序。”

2,测试在前,开发在后。

补习内容:

1,C++ 成员变量的初始化顺序应该是:基类的静态变量或全局变量;派生类的静态变量或全局变量;基类的成员变量;派生类的成员变量 具体见博客:

2,调试内容,见博客

3,函数所传的参数是指针类型,将const关键字加在不同位置的区别;什么时候需要为传入的引用参数加上const关键字。

4,链表,树(特别是二叉树),栈,队列,哈希表等及其相关操作。要求:烂熟于心!!!

5,查找、排序等算法。重点:二分查找、归并排序和快速排序,动态规划和贪心算法。

练习题:

1,将一个字符串转换为整数。

2,求一个链表的倒数第K个节点。

3,将二叉搜索树转换成排序的双向链表。(较为复杂)

4,使用优化的方式编程求斐波那契数列。(递归造成重复计算的时间复杂度太高)

将会错过更好的风景,保持一份平和,保持一份清醒。

《剑指Offer》读书笔记!想着新生活进发,加油!

相关文章:

你感兴趣的文章:

标签云: