• 剑指Offer(第二版)面试题目分析与实现-面试需要的基础知识


    面试官谈基础知识:

    • C++语言基础知识;设计模式;UML图;软件工程知识;
    • C++内存管理;
    • 数据结构和算法;编程能力;部分数据知识,概率、线性代数知识;问题分析的能力;
    • 编程基本功;并发控制;算法和时间、空间复杂度;语言的基本概念;
    • 编程基础;计算系统基础知识;算法及设计能力;
    • OS了解程度:内存管理,文件操作,程序性能,多线程,线程安全;编程语言的掌握程度;经典的算法和数据结构
    • 从我自身角度来分析,应该是还差经典的算法和数据结构;

    编程语言:

    • 问编程语言语法知识;使用一种编程语言写代码解决一个问题;通过使用代码,判断应聘者对语言的掌握程度;
    • C++面试:
      • 面试官直接询问对C++语言的理解;(概念题)
      • 面试官拿出事先准备好的代码,让应聘者分析结果;(代码分析题)
      • 要求应聘者写代码定义一个类型或者实现类型中的成员函数;
      • Effective C++;C++ primer;深度探索C++对象模型;The C++ programming Language;

    数据结构:(围绕下面几个常见数据结构展开)(编程题)

    • 关于数据结构的介绍可以参考:经典数据结构实现与分析
    • 数组:线性表结构;寻找重复的数字;可以把数组作为哈希数组来进行使用;二维数组查找;
    • 字符串:线性表结构;字符串是由若干字符组成的序列;字符串替换,要问清楚是在原字符串替换,还是利用新的内存来进行字符串替换;注意c++ 字符串操作api
    • 链表:链表由指针把若干个节点连接成链状结构;复杂链表:链表中除了有指向下一节点的指针,还有指向任意节点的指针;
    • 树:二叉树遍历的6中写法;考察树的题目,多考察复杂指针的操作;
    • 栈:与递归密切相关;使用两个栈来进行模拟队列的行为;
    • 队列;FIFO 原理;可以借助队列来实现广度优先搜索;

    算法和数据操作:具体查看基础算法策略总结

    • 递归和循环:递归实现比较简洁,循环实现性能比较高;在面试过程中,我们可以和面试官讨论,选择合适的方法编程;
    • 查找和排序:查找排序算法是考查算法的重点;排序的环境是什么,有哪些约束条件;要和面试官沟通好,根据不同排序算法的特点,选择最好的排序算法;
    • 回溯法:可以用递归容易实现回溯的方法;但是如果不能使用递归,可以和面试官沟通进行使用栈来进行实现;用回溯法解决问题的所有选项可以用树状结构描述;在某一步可能有n个选项,那么该步骤可以看做树状结构中的一个节点,每个选项可以看做树中节点的连线;经过这些连线达到该节点的n个子节点。树的叶节点对应着终结状态。如果叶节点的状态满足题目的约束条件,那么我们找到了一个可行的解决方案;解决问题过程中,尝尝需要使用数组,记录标记过的点;
    • 动态规划:问题可以分解为子问题,从递归角度进行分析问题;子问题之间有重叠。为了避免重复计算;可以自下而上的循环代码实现;把子问题的最优解先计算出来并进行用数组保存;接下来基于子问题的解来求解最大的问题的解;动态规划往往用来进行优化算法,优化重叠子问题,以求得最优解(最大值,最小值);
      • 求一个问题的最优解;
      • 整体问题的最优解依赖于子问题的最优解;
      • 子问题之间存在重叠;
    • 贪婪算法:如果分解子问题有特殊选择,采用这一选择一定能得到最优解;可以使用贪心算法;必要的时候需要证明贪心算法的正确性;
    • 位运算:位运算属于数据操作;总共有与,或,异或,非,左移与右移6中运算操作;注意理解 原码,反码和补码 的概念;

    保持更新,转载请注明出处;更多内容请关注cnblogs.com/xuyaowen;

    代码仓库:https://github.com/yaowenxu/codes/tree/master/剑指Offer

  • 相关阅读:
    Decimal、 Float、 Double 使用
    jdk1.7的collections.sort(List list)排序问题
    $watch、$digest、$apply
    BeanNameViewResolver
    This system is not registered with RHN
    JNI字段描述符-Java Native Interface Field Descriptors
    服务器端cs文件
    ASP.NET基础(一)
    Android开发日记(七)
    登陆 注册
  • 原文地址:https://www.cnblogs.com/xuyaowen/p/for-offers-2.html
Copyright © 2020-2023  润新知