第1章 国内笔试面试风格及准备方法

--- 分享面试经验,通过例题分析国内面试的风格及准备方法
· 1) C/C++部分:
  实现 memcpy 函数
  STL 中 vector 的实现原理
· 2)概率题部分:
  给 N 张牌和一个随机函数,设计一个算法对这堆牌进行洗牌
· 3)智力题部分
  25 匹马,5 个赛道,最少赛多少次找出前三
· 4)操作系统部分
  进程和线程的区别和联系
· 5)大数据部分
  100 亿个整数,如何找到中位数
· 6)算法题部分
  手写快排
  手写堆
  刷LintCode

第2章 C/C++面试知识点梳理

--- 本节通过真实的笔试、面试题讲解 C++相关的基础内容,包括各种关 键字的作用,字节对齐,智能指针,单例模式等
· 1) 叙述智能指针的原理
  衍生出 STL 中 auto_ptr 以及 shared_ptr 的使用
  如果出现循环引用如何处理?
· 2) C++单例模式写法
  衍生问题:如何定义一个只能在堆上定义对象的类?栈上呢?
· 3) Struct 的字节对齐问题
· 4) C 与 C++易混淆概念分析
  引用和指针有什么区别? const 和 define 有什么区别? new 和 malloc 有什么区别? define 和 inline 有什么区别?
· 5) static 关键字用法总结
  衍生问题:成员函数能否声明为 static 和 const 的呢? static 函数能否调用非 static 函数
· 6) const 关键字用法
· 7) C++四种强制类型转换

第3章 C/C++面试知识点梳理下
  --- 本节详细讲解 C/C++面试中非常高频的虚函数、虚继承以及 C++对象 内存模型,从此遇到这类问题不再“虚”!
  · 1) C++虚函数详解
  什么是虚函数,有什么作用?

  虚函数实现原理:包括虚函数表、虚函数指针等

  衍生问题:

    为什么 C++里访问虚函数比访问普通函数慢?

    为什么需要虚析构函数?

    内联函数、构造函数、静态成员函数可以是虚函数吗?

    构造函数中可以调用虚函数吗?
  · 2) C++虚继承详解

    为什么需要虚继承? 虚继承实现原理解析

  · 3) C++对象内存模型详解

    融合虚函数、虚继承,讲解 C++对象模型

第4章 智力题
  --- 本节详细讲解国内面试中高频的智力题, 并总结常见的解决这类问题的思路与技巧
  · 10+个常见智力面试题

第5章 概率题与操作系统题
· 操作系统相关的面试问题

第6章 面向对象设计
  · 1、请设计一个抽象类,用来支持有序数组归并任务
  · 2、请设计一个LRU Cache
  · 3、设计一个在线聊天系统
  · 4、设计一个基于内存的简单文件系统
  · 5、设计一个支持多终端的日志打印系统(如向文件打印、向网络打印、向屏幕打印)
  · 6、设计一个棋盘游戏
  · 7、请设计一个数据结构,它能够支持插入、删除、最大值、最小值、随机返回一个数的操作
  · 8、设计一个函数,使得它在n毫秒内最多访问M次

第7章 海量数据处理问题
  · 1、Map-Reduce原理
  · 2、BloomFilter原理
  · 3、Trie树原理
  · 4、两个大文件,每个文件里都存有上亿个url,怎么找到重复的url
  · 5、给百度一天的querylog,如何找到一天中出现频率最多的k个query

九章算法:BAT国内班 - 课程大纲的更多相关文章

  1. (lintcode全部题目解答之)九章算法之算法班题目全解(附容易犯的错误)

    --------------------------------------------------------------- 本文使用方法:所有题目,只需要把标题输入lintcode就能找到.主要是 ...

  2. Java入门与基础算法班 - 课程大纲

    第1章 零基础转CS,如何准备? · 转专业找CS工作怎么办? · 零基础如何在最短时间内拿到offer? · 如何写好简历? · IT技术面试内容有哪些? · JAVA语言怎么入门? 第2章 数组与 ...

  3. 九章算法系列(#5 Linked List)-课堂笔记

    前言 又是很长时间才回来发一篇博客,前一个月确实因为杂七杂八的事情影响了很多,现在还是到了大火燃眉毛的时候了,也应该开始继续整理一下算法的思路了.Linked List大家应该是特别熟悉不过的了,因为 ...

  4. 九章算法系列(#4 Dynamic Programming)-课堂笔记

    前言 时隔这么久才发了这篇早在三周前就应该发出来的课堂笔记,由于懒癌犯了,加上各种原因,实在是应该反思.好多课堂上老师说的重要的东西可能细节上有一些急记不住了,但是幸好做了一些笔记,还能够让自己回想起 ...

  5. 九章算法系列(#3 Binary Tree & Divide Conquer)-课堂笔记

    前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode ...

  6. 九章算法系列(#2 Binary Search)-课堂笔记

    前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一 ...

  7. 7九章算法强化班全解--------Hadoop跃爷Spark

    ------------------------------------------------------------第七周:Follow up question 1,寻找峰值 寻找峰值 描述 笔记 ...

  8. 【九章算法免费讲座第一期】转专业找CS工作的“打狗棒法”

    讲座时间: 美西时间6月5日18:30-20:00(周五) 北京时间6月6日09:30-11:00(周六a.m) 讲座安排: 免费在线直播讲座 报名网址: http://t.cn/R2XgMSH,或猛 ...

  9. 【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    [OCP.OCM.高可用等]小麦苗课堂网络班招生简章(从入门到专家)--课程大纲 小麦苗信息 我的个人信息 网名:小麦苗 QQ:646634621 QQ群:618766405 我的博客:http:// ...

随机推荐

  1. c--日期和时间函数

    C的标准库<time.h>包含了一些处理时间与日期的函数. 1.clock_t clock(void); 函数返回程序自开始执行后的处理器时间,类型是clock_t,单位是tick.如果有 ...

  2. MSSQL 的Top 和 MAX 效率测试

    环境: MSSQL 2008, 都在没有使用缓存的情况下面执行 表中有8W 条记录 分类1有134条记录 分别测试了3个语句 -- A select 字段1 from 表1 WHERE Ftype=' ...

  3. 【驱动】DM9000A网卡驱动框架源码分析

    Linux网络设备结构 首先看一下Linux网络设备的结构,如下图: 网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发 ...

  4. 什么是lib文件,lib和dll的关系如何

    (1)lib是编译时需要的,dll是运行时需要的. 如果要完成源代码的编译,有lib就够了. 如果也使动态连接的程序运行起来,有dll就够了. 在开发和调试阶段,当然最好都有. (2)一般的动态库程序 ...

  5. Java类的成员初始化顺序

    Java类的成员初始化顺序 2017-06-01 代码: public class InitializeSequence { public static void main(String[] args ...

  6. 【转】关于 SELECT /*!40001 SQL_NO_CACHE */ * FROM 的解惑

    由于 在数据库做了缓存,在对数据库做了备份,然后在慢查询日志中发现了这一串字符: SELECT /*!40001 SQL_NO_CACHE */ * FROM 上网查了一下,发现好多答案,好多人说的都 ...

  7. Quo JS多种触摸手势轻量级JavaScript库

    http://www.uedsc.com/quo-js.html http://quojs.tapquo.com/

  8. weblogic迁移总结

    weblogic使用的数据库时DB2 1. 图形化安装weblogic和域,或者静默安装. 2. 查看环境变量env并修改,修改系统默认语言(根据实际情况) 3. 修改weblogic页面打开较慢问题 ...

  9. Zabbix监控数据库连通性所遇问题

    Zabbix配合db2bp监控DB2数据库能否远程连接问题分析: 所遇问题,有时监控一直获取不到数据,原因是connect to连接超时了,zabbix默认监控脚本获取数据时间是3s,但最多支持30s ...

  10. svn 版本管理与自动部分发布

    作为团队开发项目时,会遇到项目的版本管理,测试部署与发布部署,下面是摘至他人的关于版本管理和自动部署的方案. svn自动部署的实现: 使用svn的hook功能 1.在版本库的hooks目录下面,有一些 ...