CS-Notes/interview/README.md
2018-07-10 20:58:12 +08:00

118 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 校招准备
## 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. 面试技巧