# 校招准备
目标职位: java 工程师、大数据开发方向
[简历](熊饶饶-校招简历-0717.pdf)
[头像](我的头像.jpg)
## 1. 招聘信息
招聘信息的来源主要是学校的群和牛客网。
2018年秋季招聘信息:
公司|招聘类型|起止时间|备注
---|---|---|---
~~百度~~ | 提前批 | 7.8 -- * | 百度SER 线下面试
阿里巴巴 | 内推/网申 | 7.16 - 8.17 | [招聘官网](https://campus.alibaba.com/process.htm)
网易游戏 | 内推 | | [招聘官网](http://game.campus.163.com/2018/zhiwei/zaixian/yxchl/2018/06/25/29304_760507.html)
京东 | 网申 |
简历截止:8.30笔试时间 9.9面试时间 9.16-9.20 | [技术岗java](http://campus.jd.com/web/job/job_detail?jobId=561)
网易 | 内推/网申 | 内推时间:7.16-8.8 网申时间:8.9-9.5| [职位列表](https://campus.163.com/app/campus/recruitment4campus)7月17日投简历
唯品会 | 网申 | 笔试9.15 面试9月中下旬 | [招聘官网](http://campus.vip.com/) 7月18已投简历
拼多多 |内推/网申 | 学霸批:7.2-8.3 | [招聘官网](www.pinduoduo.com/campus.html) 发送邮件:pddcampus@pinduoduo.com邮件/简历命名格式:【学霸批】岗位-学校-专业-姓名 7.23日投递学霸批次
蚂蚁金服 | | | [招聘官网](https://mp.weixin.qq.com/s/6THqKtD1sUF2034ZZYi0hw)
百度智能云技术三部 | 内推 | | 内推邮箱:zhangchi25@baidu.com
Thoutworks | 内推 | | [内推链接](https://jinshuju.net/f/CcO2JA)
百度深研(深圳)| 提前批 | 简历命名格式:姓名+岗位+学校+电话邮件标题格式:应聘岗位+姓名+学校 | zhaorongcun@baidu.com 7月24日发邮件了 7月27日收到面试通知
京东 | 内推 | | 786020019@qq.com (7.19日收到内推短信)
顺丰科技 | 网申 | 即日 -- 9.23日 | [招聘官网](http://campus.sf-tech.com.cn/campusRecruitment/Default.html?p=28668990421)
7月20日投了内推
多益网络 | 内推 | 内推笔试第一批:8.11 10:00 内推笔试第二批: 9.06 10:00 | [招聘官网](https://xz.duoyi.com/jobs/index.html?t=0)
7月20日投了内推
好未来 | 提前批 | 8.19日截止 | [招聘官网](http://job.100tal.com/jobxq?jobId=510212759) 7月24日投了
腾讯 | 提前批/网申 | 提前批:7.25-9.12 提前批:7.25-9.14 在线笔试:9.16-9.17 面试:9.26开始| [招聘官网](https://join.qq.com/)
抖音、头条 | 内推 | 8.1 - 12.31| [招聘官网](https://job.bytedance.com/campus/) 8.2 投简历
携程 | 内推 | 内推:8.2 - 8.12 网申 8.2 - 9.4 | [招聘官网](http://campus.ctrip.com)
老虎证券 | 内推 | 内推: 8.4 - 8.10 | 8.4 日已经提交内推
贝壳网 | 内推 | | [招聘官网](http://campus.ke.com/) 8.4已投简历
## 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读写文件等
2. 2017.7.27,百度深研院
(1) kafka 什么时候 rebalance, consumer 的 session.timeout.ms的配置项是干嘛的?
(2) java String StringBuffer StringBuilder 的区别?
(3) linux 如何查看线程、端口占用情况?
(4) java 如何实现线程安全?
(5) jvm 内存分配策略,GC 触发条件, 收集器?
(6) TCP 四次挥手的过程?time_out的缺点?
(7) mysql 的 group by 和 partition by?
答:group by 用来做聚合操作,partition by 用于对某个字段分区,然后做某些操作。
[参考链接](https://blog.csdn.net/cyl937/article/details/19930349)
(8) 海量数据去重,例如大量的IP地址,如何去重?
答:MapReduce
(9) 进程间通信方式?
答:管道,命名管道,消息队列,信号量,共享内存。
## 3. 技术范围
1. 数据结构和算法
- 数据结构:
数组,链表,哈希表,堆,队列,栈,二叉树,B树/B+树,红黑树,图
- [排序](http://xraorao.top/2018/07/11/%E5%B8%B8%E8%A7%81%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95/#more):
冒泡,选择,插入,快排,堆排,归并排序,希尔排序
- [查找](http://xraorao.top/2018/07/14/%E5%B8%B8%E8%A7%81%E6%9F%A5%E6%89%BE%E7%AE%97%E6%B3%95/#more):
二分查找,红黑树,散列表,二叉查找树
- [并查集](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E7%AE%97%E6%B3%95.md#%E5%9B%9B%E5%B9%B6%E6%9F%A5%E9%9B%86):
并查集(Disjoint set或者Union-find set)是一种树型的数据结构,常用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。
- 算法分析:
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. 面试技巧