名企面试官精讲典型编程题_第1页
名企面试官精讲典型编程题_第2页
名企面试官精讲典型编程题_第3页
名企面试官精讲典型编程题_第4页
名企面试官精讲典型编程题_第5页
已阅读5页,还剩334页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

剑指Offer名企面试官精讲典型编程题第2版目录第1章面试的流程11.1面试官谈面试11.2面试的三种形式21.2.1电话面试21.2.2共享桌面远程面试31.2.3现场面试41.3面试的三个环节51.3.1行为面试环节5应聘者的项目经验6应聘者掌握的技能7回答“为什么跳槽”81.3.2技术面试环节10扎实的基础知识10高质量的代码11清晰的思路14优化效率的能力15优秀的综合能力161.3.3应聘者提问环节171.4本章小结18第2章面试需要的基础知识202.1面试官谈基础知识202.2编程语言222.2.1C++22面试题1:赋值运算符函数24经典的解法,适用于初级程序员25考虑异常安全性的解法,高级程序员必备262.2.2C#27面试题2:实现Singleton模式31不好的解法一:只适用于单线程31不好的解法二:可用于多线程但效率不高32可行的解法:同步锁前后两次判断33推荐的解法一:利用静态构造函数34推荐的解法二:按需创建实例34解法比较352.3数据结构362.3.1数组36面试题3:二维数组中的查找382.3.2字符串42面试题4:替换空格44O(n2)的解法,不足以拿到Offer45O(n)的解法,搞定Offer就靠它462.3.3链表49面试题5:从尾到头打印链表512.3.4树53面试题6:重建二叉树552.3.5栈和队列58面试题7:用两个栈实现队列592.4算法和数据操作622.4.1查找和排序63面试题8:旋转数组的最小数字662.4.2递归和循环71面试题9:斐波那契数列73效率很低的解法,面试官不会喜欢73面试官期待的实用解法74O(logn)但不够实用的解法74解法比较752.4.3位运算77面试题10:二进制中1的个数78可能引起死循环的解法79常规解法79能给面试官带来惊喜的解法802.5本章小结82第3章高质量的代码843.1面试官谈代码质量843.2代码的规范性863.3代码的完整性87从3方面确保代码的完整性873种错误处理的方法88面试题11:数值的整数次方90自以为题目简单的解法90全面但不够高效的解法,离Offer已经很近了90全面又高效的解法,确保能拿到Offer92面试题12:打印1到最大的n位数94跳进面试官陷阱94在字符串上模拟数字加法94把问题转换成数字排列97面试题13:在O(1)时间删除链表结点99面试题14:调整数组顺序使奇数位于偶数前面102只完成基本功能的解法,仅适用于初级程序员102考虑可扩展性的解法,能秒杀Offer1043.4代码的鲁棒性106面试题15:链表中倒数第k个结点107面试题16:反转链表112面试题17:合并两个排序的链表114面试题18:树的子结构1173.5本章小结121第4章解决面试题的思路1234.1面试官谈面试思路123面试题19:二叉树的镜像1254.2画图让抽象问题形象化125面试题20:顺时针打印矩阵1274.3举例让抽象问题具体化131面试题21:包含min函数的栈132面试题22:栈的压入、弹出序列134面试题23:从上往下打印二叉树137面试题24:二叉搜索树的后序遍历序列140面试题25:二叉树中和为某一值的路径1434.4分解让复杂问题简单化146面试题26:复杂链表的复制147面试题27:二叉搜索树与双向链表151面试题28:字符串的排列1544.5本章小结158第5章优化时间和空间效率1605.1面试官谈效率1605.2时间效率162面试题29:数组中出现次数超过一半的数字163基于Partition函数的O(n)算法163利用数组特点的O(n)算法165解法比较166面试题30:最小的k个数167O(n)的算法,只当可以修改输入数组时可用167O(nlogk)的算法,适合处理海量数据168解法比较169面试题31:连续子数组的最大和171举例分析数组的规律171应用动态规划法173面试题32:从1到n整数中1出现的次数174不考虑效率的解法,想拿Offer有点难174明显提高效率的解法,让面试官耳目一新175面试题33:把数组排成最小的数1775.3时间效率与空间效率的平衡181面试题34:丑数182逐个判断整数是不是丑数的解法182创建数组保存已经找到的丑数的解法183面试题35:第一个只出现一次的字符186面试题36:数组中的逆序对189面试题37:两个链表的第一个公共结点1935.4本章小结196第6章面试中的各项能力1986.1面试官谈能力1986.2沟通能力和学习能力200沟通能力200学习能力200善于学习、沟通的人也善于提问2016.3知识迁移能力203面试题38:数字在排序数组中出现的次数204面试题39:二叉树的深度207重复遍历结点的解法,不足以打动面试官209只遍历结点一次的解法,正是面试官喜欢的209面试题40:数组中只出现一次的数字211面试题41:和为s的两个数字VS和为s的连续正数序列214面试题42:翻转单词顺序VS左旋转字符串2186.4抽象建模能力222面试题43:n个骰子的点数223基于递归求骰子点数,时间效率不够高223基于循环求骰子点数,时间性能好224面试题44:扑克牌的顺子226面试题45:圆圈中最后剩下的数字228经典的解法,用循环链表模拟圆圈229创新的解法,拿到Offer不在话下2306.5发散思维能力232面试题46:求1+2+…+n233利用构造函数求解234利用虚函数求解234利用函数指针求解235利用模板类型求解236面试题47:不用加减乘除做加法237面试题48:不能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论