美文网首页
如何准确的找到BAT实习机会~一篇文教会你Java面试技巧!

如何准确的找到BAT实习机会~一篇文教会你Java面试技巧!

作者: a333661d6d6e | 来源:发表于2021-04-22 20:34 被阅读0次

    1.面向人群

    面向2021.11 - 2022.10 时间毕业的同学。

    阿里云开放平台在北京、杭州都有office, base地随意选择, 无论实习还是转正、秋招, base地都可任意选择(不出差);
    部门在不断的发展和壮大中,真缺人, HC往年情况一般有10个左右。

    每一年,应届毕业生都要面对校招,对于程序员来说,进大厂是我们最大的理想。那么我们应该如何准备校园招聘,如何见招拆「招」?简历、网申、笔试、面试、offer,你会过招到哪关?

    正值春招结束,此时准备秋招再合适不过,我将为你答疑解惑,帮助技术同学更好地去应对校园招聘,拿到心目中理想的大厂 offer。


    image

    新的一年来临,突如其来的疫情打破了平静的生活!

    在家的你是否很无聊,如果无聊就来学习吧!

    Java基础课程

    1

    Java基础课程内容涉及:Java开发介绍、Java数组、Java面向对象、常用基础类、集合、IO流、多线程、异常、反射。

    2

    第一部分:Java开发介绍

    1. DOS常用命令

    2. JVM、JRE、JDK之间的关系

    3. Java开发环境的搭建:安装JDK,配置环境变量

    4. Java入门程序(Java的开发流程)

    5. Java的注释,标识符、标识符的命名规范

    6. Java基本数据类型

    7. 变量和常量的定义及初始化

    8. Java的运算符

    9. 运算符的优先级

    10. Java分支语句之if...else

    11. 循环的嵌套

    12. 方法的定义

    13. 方法的形参和实参

    14. 方法的递归调用

    3

    第二部分:Java数组

    1. Java 数组的定义

    2. Java 数组的声明

    3. 数组的优势与局限

    4. 数组的遍历访问(普通循环,增强for循环)

    5. 数组元素的顺序查找

    6. 数组元素的冒泡法排序

    7. Arrays工具类的使用

    8. 二维数组

    4

    第三部分:Java面向对象

    1. 面向对象设计思想

    2. 面向对象的分析与设计

    3. Java与面向对象

    4. 类中成员变量的定义与意义

    5. 构造方法的定义和调用

    6. 面向对象的封装特性

    7. 局部变量和成员变量的作用域问题

    8. 静态属性、静态方法、静态代码块

    9. 面向对象的继承特性

    10. 继承中构造方法的细节

    11. 面向对象的多态特性

    12. 抽象方法与抽象类

    13. 接口

    5

    第四部分:异常

    1. 异常的概念

    2. 异常的分类

    3. 异常的理解

    4. 常见异常介绍

    5. 运行时异常

    6. 编译时异常

    7. 运行和编译异常区别

    8. 异常的处理方式之捕获异常

    9. 异常的处理方式之抛出异常

    10. 异常的处理方式之断点调试

    11. 断点调试之引导运行步骤

    12. 自定义异常

    13. 异常关键字处理

    14. 关键字执行流程

    15. 异常总结

    6

    第五部分:集合

    1. 集合的概念和作用

    2. 集合和数组的区别

    3. 集合框架体系介绍

    4. 集合框架之Collection接口

    5. ArrayList和LinkedList的方法使用

    6. ArrayList和LinkedList各自的工作原理分析原理分析

    7. 使用多种方式遍历集合

    8. HashSet和LinkedHashSet各自的工作原理分析

    9. 集合框架之Map接口

    10. 泛型的使用

    11. Collections工具类的使用

    7

    第六部分:IO流

    1. File类的作用

    2. File类中常用方法的使用介绍

    3. 使用File类操作文件和文件夹

    4. 相对路径和绝对路径的介绍

    5. IO流的概念和工作原理

    6. IO流的分类

    7. 文件流的使用

    8. 转换流的使用

    9. 缓冲流的使用

    10. 对象流的使用

    11. 内存流的使用

    12. 使用不同的流实现文件内容的拷贝

    8

    第七部分:多线程

    1. 进程和线程的介绍

    2. 进程和线程之间的区别与联系

    3. 线程实现方式之继承自Thread类

    4. 线程实现方式之实现Runnable接口

    5. 线程实现方式之线程池

    6. 线程的生命周期

    7. 线程中常用方法的使用

    END

    第二阶段:JavaWeb
    1

    JavaWeb课程内容涉及:HTML5课程、CSS3、JavaScript、MySQL使用、JDBC连接池、Servlet、JSP、AJAX、jQuery、Bootstrap。

    2

    第一部分:HTML5

    1. html概述

    2. html基本标签

    3. 图片标签

    4. 超链接标签

    5. 表格标签

    6. 无序列表标签

    7. 有序列表标签

    8. 定义列表标签

    9. div标签

    10. 语义化标签

    11. 表单标签

    3

    第二部分:CSS3

    1. CSS3简介和用途

    2. CSS3书写规范

    3. CSS3基本语法

    4. CSS3三种使用方式

    5. 标签选择器

    6. Id选择器

    7. Class选择器

    8. 属性选择器

    9. 层次选择器

    10. 文字、文本属性

    11. 背景、列表属性

    12. 尺寸、显示、轮廓属性

    13. 浮动、定位属性

    14. 盒子模型

    15. CSS3高级属性

    4

    第三部分:JavaScript

    1. JavaScript概述

    2. JavaScript发展史

    3. JavaScript组成

    4. 数据类型

    5. 运算符

    6. 分支语句

    7. 循环语句

    8. 系统函数、自定义函数、匿名函数

    9. 常见事件

    10. 数组、字符串、日期对象

    11. 正则表达式

    12. BOM对象:window、history、location

    13. DOM概念

    14. DOM操作:创建、修改内容、删除

    15. Css样式操作

    5

    第四部分:MySQL使用 或oracle数据库

    1. 数据库简介

    2. MySQL的安装与使用

    3. MySQL客户端和服务器配置

    4. 用户权限管理

    5. DDL创建数据库和表

    6. 约束与外键

    7. DML实现添加、修改、删除数据

    8. 聚合函数、日期函数等

    9. DQL简单查询

    10. 排序、分组、筛选

    11. 多表查询

    12. 子查询

    13. in和exists关键字

    14. 分页查询

    15. Mysql SQL语句优化介绍

    6

    第五部分:JDBC连接池

    1. JDBC概述

    2. JDBC使用步骤

    3. Connection、Statement、ResultSet接口

    4. 使用JDBC 完成数据库DML操作

    5. PreparedStatement对象

    6. 大数据的操作

    7. 批量处理与元数据

    8. 事务处理

    9. 隔离级别

    10. 自定义连接池

    11. DBCP、C3p0连接池

    12. DBUtis工具类

    13. QueryRunner

    14. 自定义结果集处理

    15. 连接池知识总结

    7

    第六部分:Servlet

    1. Tomcat与Eclipse的集成开发

    2. 什么是Servlet

    3. Servlet的进化史

    4. Servlet的优化过程

    5. Servlet中应用的多线程概念

    6. Servlet接收客户端请求信息

    7. Servlet响应客户端信息

    8. Servlet的生命周期

    9. 重定向写法

    10. 转发写法

    11. 转发和重定向区别

    12. HttpServletRequest获取中文乱码问题

    13. HttpServletResponse响应中文乱码问题

    14. Servlet路径映射问题

    15. Servlet多路径映射

    8

    第七部分:JSP

    1. 什么是JSP

    2. JSP的内置对象

    3. 透析JSP的本质

    4. JSTL+EL

    5. MVC介绍

    6. 分层的重要性

    7. Web工程中事务实现

    8. Session的使用

    9. Cookie的使用

    10. web工程中连接池的使用

    11. 实现用户的自动登录

    12. 文件的上传、下载

    13. 过滤器、 监听器

    14. 反射、注解、泛型

    15. 综合案例练习

    9

    第八部分:AJAX

    1. Ajax技术背景

    2. Ajax技术的理解

    3. XMLHttpRequest使用步骤

    4. XMLHttpRequest GET/POST的区别

    5. 同步请求&异步请求

    6. 同步请求&异步请求的区别

    7. Ajax获取不同的返回值类型

    8. Ajax使用原生JavaScript和Jquery的区别

    9. Ajax响应状态处理

    10. JSON语法

    11. Java JSON 解析

    12. Java JSON 生成

    13. Java JSON 第三方工具快速解析

    14. JavaScript JSON转换

    15. Jquery JSON转换

    END

    Java框架课程

    1

    Java框架课程内容涉及:Spring、Spring MVC、MyBatis、SVN、Git、Maven、SpringBoot

    2

    第一部分:Spring

    1. 框架原理介绍

    2. 框架环境搭建

    3. 快速入门

    4. 创建Bean的方式及实现原理

    5. Bean种类

    6. Bean生命周期

    7. Bean的作用域

    8. Bean的注值方式

    9. 整合Junit测试

    10. 注解装配Bean

    11. 注解装配Bean

    12. AOP思想、原理解剖

    13. AOP底层JDK动态代理

    14.AOP编程

    1. AspectJ介绍及实现AOP开发

    16.事务

    1. Web项目集成Spring

    3

    第二部分:Spring MVC

    1. Spring MVC 概述

    2. 使用 @RequestMapping映射请求

    3. 请求处理方法签名概述

    4. 处理方法签名详细说明

    5. 使用 HttpMessageConverter

    6. 处理模型数据

    7. 数据绑定流程剖析

    8. 数据格式化

    9. 数据校验

    10. 视图和视图解析器

    11. 处理方法的数据绑定

    12. 视图和视图解析器

    13. 文件上传下载

    14. JSON处理

    15. 拦截器

    第三部分:MyBatis

    1. MyBatis数据框架介绍

    2. MyBatis对比Hibernate框架

    3. MyBatis配置、查询数据

    4. MyBatis全局配置文件

    5. MyBatis全局配置文件元素详细介绍

    6. Mapper映射文件

    7. MyBatis两种开发方式

    8. MyBatis中别名配置

    9. MyBatis # 和 $ 拼接参数区别

    10. 关联查询,动态sql

    11. MyBatis缓存机制、整合ehcache

    12. MyBatis二级缓存处理

    13. MyBatis、Spring、SpringMVC整合

    14. 分页插件

    15. MyBatis逆向工程

    第四部分:SVN 和git

    1. SVN简介

    2. SVN和Git对比

    3. SVN服务器搭建

    4. SVN创建仓库

    5. SVN创建用户以及分配权限

    6. SVN签出、提交、更新

    7. Eclipse整合svn插件

    8. Idea整合svn插件

    9. 使用SVN更新提交

    10. SVN仓库分析

    11. SVN协同修改&冲突解决

    12. SVN代码整合注意事项

    13. SVN权限管理

    14. SVN数据回滚

    15. TortoiseSVN

    6

    第五部分:Maven

    1. Maven环境搭建

    2. Maven构建项目

    3. Maven本地仓库配置

    4. Maven中央仓库配置

    5. Maven基本概念

    6. Maven基本命令介绍

    7. Maven于Eclipse整合

    8. Maven于Idea整合

    9. Maven创建web工程

    10. pom.xml、依赖管理

    11. 坐标、依赖、生命周期等

    12. Eclipse下的Maven使用

    13. Maven中 继承、聚合

    14. Maven构建SSH/SSM应用

    15. 自动部署、持续集成、持续部署

    第六部分

    项目开发

    线下笔试

    线下笔试我的经验也不多,做了几场下来,感觉都是考基础+编程题为主。然后最后会有一个问答的开放题,这种时候需要熟练记下项目,然后能画出结构图,写一写详细的细节。

    线上笔试

    当你做过几次在线笔试,你会发现,大部分在线笔试的重点就是选择题+编程题。有时会有一些开放的问答题。

    最开始的时候,你会发现为什么时间总是不够,编程题为何总是不对,不要气馁,大家一开始都是这样。

    给出几条经验教训的总结:

    选择题:刷牛客网力扣网的选择题是一个选择,不过,力扣和牛客选择题的面实在是太广了,尤其是刚开始刷题,会觉得这都是什么奇奇怪怪的题目,什么方向都有,根本没法复习,然后深受打击,放弃复习。我的建议是,先系统复习我上面提到的那几类知识点,比如排序,一开始遇到排序的选择题,比如“以下哪个是快排了n次后可能的序列”,这种题目,茫茫多,如果你只理解了快排的意思,还是会觉得这题难,无从下手。所以先完全理解了快排,再看这题,就会比较轻松。选择题真的重在精。

    编程题

    提前在本地IDE准备好输入输出:包括多行输入和单行输入。牛客网的编译器会提供给大家这个模板。
    原题:很多时候会考剑指offer或者Leetcode原题,如果你看过,做过,那就轻松啦。
    不要紧张:我经常会看到只有20分钟,而我还有一题没写完,就慌得要命。其实不必如此,静下心来整理思路,有了思路,再加上熟练地编码,5分钟也能写完一题。
    其他注意:很多时候我们喜欢print答案,来骗一些分。我觉得最好不要这么做,因为我碰见很多公司会打印你的笔试代码,作为归档或者拿来问你,要是你这么写,不太好。

    面试准备

    面试应该有的心态
    这是我最想讲的一点,也是我写这篇文章的初衷。

    最开始的3-6月份,我的面试经常十分的尴尬,常见的就是,基础问题被问住了,然后尴尬的冷场,或者是编程题,想了半天一句话都憋不出来,面试官也很失望。亦或者是,自己的项目,被问到了一些细节,我自己答的很模糊。

    那时候总觉得面试为什么这么难,总有不会的问题,面试官总是问我不擅长的,为什么网上看别人的面经就是聊聊天,而我的就是手撕代码+猛问基础。

    现在以面试官的立场,仔细想想,他们到底期待怎么样的面试和求职者。

    符合招聘的需求

    不得不承认,这是最重要的一点,什么叫符合需求?需要招聘电商系统的后台开发,而你的项目和技术栈就是电商项目还有后台技术栈,这叫完全符合需求。所以为什么很多人面试觉得老是被问基础,那就是并不完全符合用人需求,只能来多考考你的基础和积累,看你是否符合成为一个有潜质的培养对象。 想明白了这一点,我相信心态就会放平了,毕竟一个人不可能做到在对每个企业的应聘时都正好符合该企业的岗位需求。

    会讲故事

    面试官在校招期间,每天要面试无数个人,面对无数张面孔,如何能够打起精神,对面试者提起兴趣?当然是遇到一个有趣的灵魂(逃。所以,我们要会讲故事。

    什么时候能够讲故事呢?我的经验是,在项目里,或者在自我介绍里。比如说,你要会生动的描述你的项目,比如遇到的难题,当时怎么解决的,不要干巴巴的让人感觉像背书。在自我介绍里,你需要看面试官的情况来定,如果明显他不喜欢冗长的介绍,那么你的故事可能要稍微收敛一些,甚至不要讲,免得开局不利。

    会微笑

    保持微笑,是一个制胜法宝,相信我。你就算问的什么都不会,一脸萌新脸,也比苦瓜脸更有优势。

    问的基础未必会,但会挽救尴尬

    要懂得,被面试官问到不会的基础,是再正常不过的事,就算你觉得你复习的很好了,也还是会有角落里的知识点会没看过或者遗忘。一旦被问了不会,不要慌张,坦然说你不太熟悉,或者说一些想的起来的有关话题,面试官愿意听就说,不想听,你也不要强求。

    项目熟悉,给人感觉做过很多实际的工作

    项目,一定要好好准备,甚至要单独写一个笔记,记录你被问过的项目问题。总结几个项目中的难点,画一画项目结构图。

    做到以上几点,你的面试体验会很好,面试官的体验也很好,面试官的体验一旦不错,你的分数就不会差,就算你基础问题不会的再多,也会有个还能看的过去的分数。就算你的面试官最后给你挂了,你也会有个平稳的心态,继续应对下一场面试。

    image

    最新2021整理收集的很多干货,包含mysql,netty,spring,线程,spring cloud、jvm、源码、算法等详细讲解,需要获取这些内容的朋友加Q君样:756584822

    相关文章

      网友评论

          本文标题:如何准确的找到BAT实习机会~一篇文教会你Java面试技巧!

          本文链接:https://www.haomeiwen.com/subject/gbwfrltx.html