From cba8e310c292cde3c72546c8c613dc4cddad8072 Mon Sep 17 00:00:00 2001 From: xiongraorao Date: Tue, 10 Jul 2018 20:58:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0interview?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++ interview/README.md | 117 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 interview/README.md diff --git a/README.md b/README.md index ff207ca2..4f9f23f0 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,10 @@ | :--------: | :---------: | :---------: | :---------: | :---------: | :---------:| :---------: | :-------: | :-------:| :------:| | 算法[:pencil2:](#算法-pencil2) | 操作系统[:computer:](#操作系统-computer)|网络[:cloud:](#网络-cloud) | 面向对象[:couple:](#面向对象-couple) |数据库[:floppy_disk:](#数据库-floppy_disk)| Java [:coffee:](#java-coffee)| 分布式 [:sweat_drops:](#分布式-sweat_drops)| 工具[:hammer:](#工具-hammer)| 编码实践[:speak_no_evil:](#编码实践-speak_no_evil)| 后记[:memo:](#后记-memo) | +## 面试准备 + +> [校招信息](interview/READEME.md) + ## 算法 :pencil2: > [剑指 Offer 题解](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/剑指%20offer%20题解.md) diff --git a/interview/README.md b/interview/README.md new file mode 100644 index 00000000..7755d428 --- /dev/null +++ b/interview/README.md @@ -0,0 +1,117 @@ +# 校招准备 + +## 1. 招聘信息 + +招聘信息的来源主要是学校的群和牛客网。 + +2018年秋季招聘信息: + +- 2017.7.8, 百度SRE提前批 + +## 2. 面试记录 + +1. 2017.7.8, 百度SRE面试 + +面了108分钟,手机都快没电了,主要问的是项目,然后根据我的专业技能问了一些基础的东西。 + +(1) du 和 df 的区别 + +du 和 df的命令都被用于获得文件系统大小的信息; + +du, disk usage, 通过搜索文件来计算每个文件的大小,然后累加,du能看到的文件只是一些当前存在的,没有被删除的。 + +df, disk free, 通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。 + +当文件系统也确定删除了该文件后,这时候du与df就一致了。 + +(2) kafka 组件 +(3) HDFS读写文件等 + +## 3. 技术范围 + +1. 数据结构和算法 + +- 数据结构: + +数组,链表,哈希表,堆,队列,栈,二叉树,B树/B+树,红黑树,图 + +- 排序: + +冒泡,选择,插入,快排,堆排,归并排序,希尔排序 + +- 查找: + +二分查找,红黑树,散列表,二叉查找树 + +- 并查集: + +- 算法分析: + +2. jvm + +内存模型、垃圾回收、类加载机制 + +3. java web + +tomcat servlet JSP cookie/session 等基本概念 + +4. 框架 + +Spring(AOP, IOC) MyBatis等 + +5. 数据库 + +基本SQL,索引优化,存储引擎(InnoDB, MyISAM),索引原理 +事务ACID 隔离级别 +分库分表,主从复制,读写分离 + +6. 计算机网络 + +OSI7 层模型和 TCP4层模型 + +传输层:TCP/IP 相关知识, UDP, TCP握手挥手 +HTTP: 报文结构,POST/GET方法 +网络编程:socket, NIO, select 等 + +7. 操作系统 + +linux指令 +进程、线程区别 +进程间通信方式 +P/V 操作 +磁盘调度,虚拟内存 +死锁,中断 + +## 4. 学习路线 + +我自己的学习路线规划:技能的主线是 **Java 语言基础 -> Spring 框架开发业务 -> 分布式系统解决高并发,基础方面 算法,网络协议,操作系统** + +概念性的程度:了解是啥,能够口述含义 +使用的程度:可以熟练使用,比如调用 API,写 SQL 查询 +原理的程度:能够讲清楚底层实现 +提出见解的程度:从任意技术可以引申出相关技术,并能够分析联系和区别,提出自己的见解和体会 +以上四种程度逐层加深,当然越深越好,通常前两种程度只能称之为“了解”;而写上简历迎接考核的,至少需要掌握到「原理」的程度。 + +## 5. 参考书籍 + +《算法》(第四版)图以前章节 +《剑指 Offer》 +《Java 编程思想》 +《Java多线程编程核心技术》(高洪岩 著) +《Java 并发编程实战》 +《深入理解 Java 虚拟机》 +《Java 8 实战》 +《鸟哥的 Linux 私房菜》 +《MySQL 必知必会》 +《Maven 实战》 +《图解 HTTP》 +《敏捷软件开发》 +《架构探险-从零开始写 Java Web 框架》 +《Spring 3.x 企业应用开发实战》 +《Head First 设计模式》 +《大型网站技术架构》(李智慧 著) +《大型网站系统与 Java 中间件实践》 + +## 6. 面试技巧 + +