Go程序员面试算法宝典-读后感1

这本书是讲解Go语言程序员面试笔试真题的书籍,讲的还不错,值得一看。

计算机技术博大精深,日新月异………………大神们疯狂的更新着技术,(我就更新,不服打我呀)虽然换汤不换药,又有几个人能精通基础,再延伸。我等凡人复制粘贴吧

  面试笔试经验技巧篇

  1. 如何巧妙地回答面试官的问题
  2. 如何回答技术性的问题
  3. 如何回答非技术性问题
  4. 如何回答快速估算类问题
  5. 如何回答算法设计问题
  6. 如何解决求职中的时间冲突问题
  7. 如果面试问题曾经遇见过是否要告知面试官
  8. 被企业拒绝后是否可以再申请
  9. 如何应对自己不会回答的问题
  10. 如何面对面试官的激将法
  11. 如何处理与面试官持不同观点只管问题
  12. 什么是职场暗语

(我去这些问题还真是高频问题,貌似我都遇见过呀,不过我处理的效果都不是很好,需要深度学习一下这个)

  面试笔试真题解析篇

第一章链表(上来就放大招,好吧)

  • 如何实现链表的逆序
  • 如何从无序链表中移除重复项
  • 如何计算两个单链表所代表的数之和
  • 如何对链表进行重新排序
  • 如何找出单链表中的倒数第K个元素
  • 如何检测一个较大的单链表是否又环
  • 如何把链表相邻元素翻转
  • 如何吧链表以K个节点为一组进行翻转
  • 如何合并两个有序链表
  • 如何在只给定单链表中某个节点指针的情况下删除该节点
  • 如何判断两个单链表(无环)是否交叉
  • 如何展开链接列表

第二章 栈、队列与哈希

  • 如何实现栈
  • 如何实现队列
  • 如何翻转栈的所有元素
  • 如何根据入栈序列判断可能出栈的序列
  • 如何用O(1)的时间复杂度求栈中最小元素
  • 如何用两个栈模拟队列操作
  • 如何设计一个排序系统
  • 如何实现LRU缓存方案
  • 如何从给定的车票中找出旅程线路
  • 如何从数组中找出满足a+b=c+d的两个数对

第三章 二叉树

  • 二叉树基础知识
  • 如何吧一个有序整数数组放到二叉树中
  • 如何从顶部开始逐层打印二叉树节点数据
  • 如何求一颗二叉树的最大子树和
  • 如何判断两颗二叉树是否相等
  • 如何吧二叉树转换为双向链表
  • 如何判断一个数组是否是二元查找树后序遍历的序列
  • 如何找出排序二叉树上任意两个节点的最近共同父节点
  • 如何复制二叉树
  • 如何在二叉树中找出与输入整数相等的所有路径
  • 如何对二叉树进行镜像翻转
  • 如何在二叉树怕学中找出第一个大于中间值的节点
  • 如何在二叉树中找出路径最大的和
  • 如何实现DNS查找缓存

第四章 数组

  • 如何找出数组中唯一的重复元素
  • 如何查找数组中元素的最大值和最小值
  • 如何找出旋转数组的最小元素
  • 如何找出数组中丢失的数
  • 如何找出数组中出现奇数次的数
  • 如何找出数组中第K小的数
  • 如何求数组中两个元素的最小举例
  • 如何求解最小三元组的举例
  • 如何求数组中绝对值最小的数
  • 如何求数组连续最大和
  • 如何找出数组中出现1次的树
  • 如何旋转数组
  • 如何在不排序的情况下求数组中的中位数
  • 如何求集合的所有子集
  • 如何对数组进行虚幻移位
  • 如何在有归路的二维数组中进行高效的数组查找
  • 如何寻找最多的覆盖点
  • 如何判断请求能付在给定的存储条件下完成
  • 如何按要求构造新的数组
  • 如何获取最好的矩阵链相乘方法
  • 如何求解迷宫问题
  • 如何从三个有序数组中找出它们的公共元素
  • 如何求两个有序集合的交集
  • 如何对有大量重复的数字的数组排序
  • 如何对任务进行调度
  • 如何对磁盘分区

第五章 字符串

  • 如何求一个字符串的所有排列
  • 如何求两个字符串的最长公共子串
  • 如何对字符串进行反转
  • 如何判断两个字符串是否为换位字符串
  • 如何判断两个字符串包含关系
  • 如何对由大小写字母组成的字符数组排序
  • 如何消除字符串内嵌括号
  • 如何判断字符串是否是整数
  • 如何实现字符串匹配
  • 如何求字符串类的匹配
  • 如何求字符串里的最长回文字串
  • 如何按照给定的字符串序列对数字数组排序
  • 如何判断一个字符串是否包含重复字符
  • 如何找到由其他单词组成的最长单词
  • 如何统计字符串中练习重复练习重复字符的个数
  • 如何求最长递增子序列的长度
  • 求一个串中出现的第一个最长重复子串
  • 如何求解字符串中字典序最大的子序列
  • 如何判断一个字符串是否由两外一个字符串旋转得到
  • 如何求字符串的编辑距离
  • 如何在二维数组中需求最短路线
  • 如何截取包含中文的字符串
  • 如何求相对路径
  • 如何查找到达目标词的最短链长度

第六章 基本数字运算

  • 如何判断一个自然数是否是某个数的平方
  • 如何判断一个数是否为2的n次方
  • 如何不使用除法操作符实现两个整数的除法
  • 如何只是用++操作符实现加减乘除运算
  • 如何根据已知随机数生成函数计算新的随机数
  • 如何判断1024!末尾有多少个0
  • 如何按要求比较两数的大小
  • 如何求有序数列的第1500个数的值
  • 如何把十进制数(long型)分别以二进制和十六进制形式输出
  • 如何求二进制数中1的个数
  • 如何找最小的不重复数
  • 如何计算一个数的n次放
  • 如何在不能使用库函数的条件下计算n的算数平方根
  • 如何不使用^操作实现异或运算
  • 如何不使用循环输出1到100

第七章 排列组合与概率

  • 如何求数字的组合
  • 如何拿到最多金币
  • 如何求正整数n所有可能的整数组合
  • 如何用一个随机函数得到另外一个随机函数
  • 如何等概率地从大小为N的数组中选取M个整数
  • 如何组合1,2,5这三个数使其和为100
  • 如何判断还有几盏灯泡亮着

第八章 排序

  • 如何进行选择排序
  • 如何进行插入排序
  • 如何进行冒泡排序
  • 如何进行归并排序
  • 如何进行快速排序
  • 如何进行希尔排序
  • 如何进行堆排序
  • 各种排序算法有什么优劣

第九章 大数据

  • 如何从大量的url中找出相同的url
  • 如何从大量数据中找出高频词
  • 如何找出访问百度最多的IP
  • 如何在大量的数据中找出不重复的整数
  • 如何在大量的数据中判断一个数是否存在
  • 如何查询最热门的查询串
  • 如何统计不同电话号码的个数
  • 如何从5亿个数中找出中位数
  • 如何按照query的频度排序
  • 如何找出排名前500的数

光看目录就很牛逼了,希望大家都要仔细阅读一下