剑指offer

  • 剑指offer

本博客是对剑指offer本书的笔记

面试

简历准备

简历:

  • 项目经历:STAR原则描述
STAR原则
  • 掌握的技能

了解/熟悉/精通

不建议列出了解的技能,除非相关。主要部分应该是熟悉,慎用精通。

技术面试

面试官关注的能力

  • 基础知识
  • 高质量代码,鲁棒:写代码前想好测试用例,不要着急提交给面试官
  • 分析问题思路清晰:解决复杂问题的技巧,如画图,举例,分解
  • 可以优化算法的效率
  • 沟通能力,发散思维,迁移问题,自学能力

应聘者提问

注意:

  • 不要问和职位无关的问题
  • 不要问薪水
  • 不要打听面试结果
  • 可以从网上搜集的信息以及面试官说过的话找提问的出发点

基础知识

1-复制运算符函数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
题目:为一个CMYSTRING的类,添加赋值运算符函数

分析应注意:
- 函数返回值是否为引用类型,如果不是无法连续赋值
- 参数是否声明为常量引用,可以提高效率,且不改变原实例
- 是否进行了内存释放操作
- 是否考虑赋值两端是同一个实例的情况
- 高级程序员应考虑异常安全性,应先分配内存,再考虑下一步操作

考点:
- C++基础语法
- 内存泄漏理解
- 异常安全性理解(空指针)

2-实现SINGLETON模式

1
2
3
4
5
6
7
8
9
题目:设计一个类,只能生成该类的一个实例

注意:
- 利用静态变量,以及静态函数,初始化即创建
- 如果GET的时候再通过是否为NULL创建,在多线程情况下还需加锁

考点:
- 设计模式
- 多线程理解
CC BY-NC-SA 4.0
Built with Hugo