2018Java实习生面试总结

个人背景

帝都某码农技校硕士在读,长期在外实习,所以基本上没有什么论文产出,一直做的是Java后台开发的工作…

简历制作

简历制作上我一直用的是乔布简历,选一个干净的简历模板就行,尽量保证篇幅在一页,尤其需要注意的是项目的书写上,我一般会写三个点
1. 这个项目是什么
2. 我负责了什么,遇到了什么难题如何解决的
3. 我从中学到了什么

其他的一些奖项兴趣爱好尽量找突出自己优点的,和工作无关的就尽量不要写上去了,因为HR筛简历时根本没什么时间看

面试的公司

从渠道上来说一般优先内推,有内推一定要走内推确保简历能过,其次是一些部门的散招,可以上Boss直聘,实习僧,拉勾上找找

我主要是面了阿里,百度,新浪,小米,搜狐,爱奇艺等公司,我不会细说每个公司的笔试面试题目因为那样没有意义,通过多次面试需要掌握的是面试的重点,反复思考面试官想考察什么技术点,这个很重要

面试重点

以Java后台为例子,其他的例子我也不清楚

首先会考察Java语言相关的东西(相对高频的考点)

  • 集合源码,重点是ArrayList,HashMap,ConcurrentHashMap等
  • 并发多线程以及几种常见线程池,线程池的实现原理
  • Java锁,volatile关键字,CAS等
  • IO相关的内容
  • JVM相关,垃圾回收算法和几个垃圾回收器

Web框架相关的

  • Spring的IOC和AOP原理
  • SpringMVC的执行流程
  • MyBatis的执行流程,如何实现分页等

Linux相关的

  • 一些常用的shell命令

数据库相关的

  • 事务隔离级别,脏读,不可重复度等
  • MySQL的引擎
  • MySQL的索引类型与索引优化
  • 慢查询如何检测和优化
  • MySQL的主从
  • Redis的特点,数据类型,持久化策略,主从复制
  • 缓存的击穿和雪崩如何解决
  • 数据库连接池原理,C3P0源码等

消息中间件

  • Dubbo实现原理
  • Zk的作用
  • 实现分布式锁
  • Kafka的实现原理和工作机制

数据结构相关

  • 以树和链表数组为主,因为考察起来比较方便
  • 常用的排序和查找方法必须熟悉

计算机网络

  • 网络模型
  • TCP UDP区别
  • 常见的端口
  • HTTP相关内容 请求头字段和状态码

项目相关

因为项目还是因人而异的,需要注意的是要说清楚这个项目是什么,分模块介绍自己完成了什么,遇到了什么问题如何解决的这样会比较有条理,面试官应该更关心你解决问题的能力吧

上面列举的只是后台开发需要知道的冰山一角,还有很多很多东西不可能一一列举

如何准备

有目的性地刷题 LeetCode
有目的性地看书 补基础看书看书看书

推荐书籍

[1] 剑指Offer
[2] 编程之美
[3] 深入理解Java虚拟机
[4] 深入分析Java Web技术内幕
[5] Java并发编程实战
[6] 图解TCP/IP
[7] Redis设计与实现
[8] https://github.com/CyC2018/Interview-Notebook

你可能感兴趣的:(Java)