金三银四结束后,我成为了同事眼中的offer收割机器,偷偷教你我的面试技巧!

前言

我自己的22届春招实习算是告一段落,给自己做个总结,也给大家分享一下金三银四的一些心得。

一、首先介绍一下自己的情况:

上海某211渣硕

2022年毕业

电子信息专硕(两年制),今年研一

java后端开发(半路出家)

暑期大厂实习offer:

阿里巴巴—蚂蚁金服—支付宝技术部—java

腾讯—PCG—看点搜索中心—c++

字节跳动—电商业务->转到西瓜视频—go

美团—美团平台—服务体验部—java

携程—国际化旅游业务—java

最终选择了去阿里实习,有以下几个原因:

超级大厂,java体系成熟,技术沉淀深

实习不想花太多的时间花在转语言上,继续升华java

阿里转正留用机会大,秋招竞争力大

在上海读书,想在上海实习,感受一下坐拥外滩的场景

我的面试资料总结

根据我的面试经验为大家整理了很多资料!包括一线大厂Java面试题总结+各知识点学习思维导+一份300页pdf文档的Java核心知识点总结! 这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。

有需要的盆友点这里直接下载好了,希望会对你有帮助!

二、学习经验

首先我总结了一下java面试可能会从哪些方面考察,针对每一块,我不会涉及到一些具体的技术原理,而是去分享一下我自己对他们的看法,也只代表我个人的理解和看法,欢迎各位大佬共鸣或者给我建议!

我会从以下几个方面去分享,每一个小类都会有对应的面试题目汇总,可以在牛客网、github等自己搜索,也可以和我私信!给你分享我的资料!之后也想专门抽空出一期我学习的资料!这里面就不做介绍了!

计算机基础:计算机网络、操作系统、数据结构与算法、数据库

java:语言基础、集合源码、多线程、JVM

框架类:开发框架、中间件

分布式类:分布式组件、分布式思想

项目

计算机基础

首先,我自己本科是电气工程专业,所以没有学过计算机网络、操作系统和数据库这类的专业课,应该也和大部分同学一样。但是计算机基础,是每个大厂必问的问题,绝对不能忽视。

计算机网络、操作系统
强烈建议:

面试之前通过面经学习,面经上都是比较重要的知识点,这部分没有太多的实战技巧,多记多背,还有一点大家容易忽略的一点,要多说!把你知道的知识点用嘴巴说出来,很多同学脑子里有货,说不出来,组织不了语言,也是很致命的一点!

在面试的途中,遇到不会的问题即时记录,学习并且消化!你的能力不是说现在70分,面完10家公司还是70分,在不断面试的过程中,反复积累反复消化!就像西天取经越来越厉害。

数据结构和算法

强烈建议:

刷LeetCode,这个对于找工作来说,太重要了,这里直接讲我刷leetcode的方法,我大概刷了320多道题,一共刷过3个来回。

入门:我最开始刷遇到的问题和大家一样,在不了解算法和数据结构的情况下,很难想出这一题的思路,那么很简单,利用答案学习,拿到题目就看答案,对着答案写代码。

初级:当我看了一定数量的题目的时候(大概前100题),基本的算法,数据结构都有所了解,接下来就遇到一个问题,那就是拿到题,知道大概的思路,写不出对应的代码,我的建议是,自己先写,不管是api忘记了还是怎么样,先把你想到的东西都写出来,然后看答案,再自己改自己的代码。

中级:当你刷的题数上来的时候(大概200题),你已经大概有点算法感觉了,现在你要做的就是回头看,不用去写新的代码,因为信心很重要,再去刷前面的代码,这时候要多写多练。不用看别人刷了多少题,你把一个题刷透彻才有实质性的提高,找工作够用了。

高级-地狱:等待各路大神补充

笔试:笔试的时候是ACM模式,详情可以参考牛客网,一定要提前去准备(会写输出输出、导包,自定义数据结构)

数据库(深入)

数据库我觉得一定是一个作为我们应届生面试值得深入的地方

除了传统的CRUD之外,我们需要了解一些数据库的底层知识(mysql)

InnoDB存储引擎架构设计

数据库内存区域、磁盘区域:redo log、undo log、buffer pool、

MVCC、隔离级别、事务控制

索引(底层)

explain执行计划

这个一定是你能够和面试官自信的侃侃而谈的一个重要的点。

java

语言基础、集合源码、多线程
这三个部分,大家在学习java的这条路线上面都有过学习,我给大家的建议就是,看面经,因为这个考来考去也就是那么多,万变不离其宗。

这里着重说一下,集合类比如说HashMap等一定要自己看源码,自己看源码,网上博客很多,结合博客看源码,印象会更深刻。

JVM(深入)

jvm和mysql应该是我本人作为面试的时候最能谈的两块,也推荐大家去深入了解哈哈哈~也可以私信和我交流

jvm是java大厂都必问的知识点,包括一些其他非java厂也都会看你的知识掌握是否牢固(腾讯、字节都问过我jvm相关问题)

JVM的话无非就是以下几个点,内容不算很多:

JVM基本工作原理(GC、GC原理、内存区域、核心参数等)

各种垃圾回收器和对应的垃圾回收算法

JVM内存分配思想(不一定有实际生产经验,一定要有想过)

OOM内存溢出问题分析(不一定有实际生产经验,一定要有想过)

框架类

开发框架
需要掌握:ssm、springboot、Mybatis等

开发框架其实在面试中被问的并不是很多,因为大厂里面基本上都是自己的自研框架,基本上被问到也就是面经上常见那些问题,问题很少。比较容易准备。

中间件
面试中间件的时候,据我了解,可能你简历上面没有写相关的东西,问的不是很多,但是只要你能够深入了解某一个中间件,它的设计思路、架构原理等等,一定是一个加分项。楼主学习中间件的路线大概如下:

redis:基本使用实战、分布式环境、集群

dubbo、zookeeper:深入一个rpc框架也是不错的加分项,学有余力的:可以学习netty手写一个简易版dubbo,也是你面试的一个谈资

mq:rocketMQ、kafka、rabbitMQ,了解性能优势,可以选一个深入~

netty:网络编程加分项,也能够促进你对计算机网络的理解,可以自己搭建rpc框架

分布式类

微服务和分布式流行,大厂都会使用到,咱们也有必要去了解学习,面试中或多或少会问到,我把他分为两类,一个是分布式思想,一个是分布式组件

分布式思想:
由于我们大部分没有分布式高并发等实战经验,所以能够学习这方面的思想,是很重要的一点,大部分面试官不会在这一点去为难我们,这个可以去找好的博文去进行学习和阅读!

分布式组件:
我学习的分布式组件主要有:SpringCloud、SpringCloudAlibaba

建议大家可以利用这个去自己搭一个简单的服务提供与消费的网关,加上一些熔断限流等功能。学习如何使用~

项目

很多同学在为没有项目而苦恼,你也知道可以通过在b站上找一些优质的项目教程,跟着完整的做一遍。但是你要足够熟悉!

接下来我还给大家分享一个小经验,仔细想想我们项目是为了什么,就是为了面试能说,能够展示我们会什么就行了呀,所以我觉得大家不一定可以做一个完整的项目,可以找某一个模块去深入。这里给大家推荐几个小模块,针对某个模块去深入了解,在这一个模块跟面试官讲半个小时他不香吗?

认证授权

微服务网关

redis分布式锁

相信你也能够有不错的收益!

面试经验

首先我给大家介绍一下据我了解各大厂的笔试、面试平台以及一些面试流程~

大厂面试流程

阿里(3+1)

流程:内推直接进部门、投进池子等捞、面试流程会到每一个具体面试官那边,面试官和你沟通面试时间(我因为面试官休假流程卡了15天!!!)

笔试:牛客网笔试(ACM模式)、阿里自研平台(记事本形式)

阿里应该比较注重笔试、一定努力不要得0分,不然会加试
面试:面试官开心就好,电话面试,视频面试面试官自己选,电话面居多,重视hr面

腾讯(2~3+1)

流程:内推基本上用处不大,投具体的事业群,否则进池子里等捞,挂了继续会池子里等捞

笔试:实习生好像不用笔试(虽然会发笔试连接,但是我没做,一样oc)

面试:腾讯自研平台、腾讯会议

字节(3+1)

流程:内推或者官网投递,会有面试记录,好像审批会看以前面试记录

笔试:牛客网笔试

面试:牛客网面试(每一次面试都要撕算法)

美团(2+1)

流程:内推进部门或者进池子等捞

笔试:牛客网笔试

面试:牛客网面试

其他大厂公司我没有面试经验!~…欢迎各位补充和纠正。

面试过程

技术面
请自我介绍

自我介绍环节言简意赅,表现的大方得体,哪怕面试官给你摆个臭脸,你也要笑着对他(如果你想拿offer的话)

项目轰炸

项目轰炸的话,一般是针对你会的东西去问你,简历上或者自我介绍的东西去进行询问,多准备一点自己遇到的问题,以及怎么解决的,然后学习到了哪些经验什么的。

面经八股文轰炸(可深入)

其实我们准备面试,更多的时间也就花在这里了,这是考察你的专业技能的时候,努力不会白费。

反问

在这里我不说太多怎么去反问的话题,我给大家分享一个我反问一个问题给阿里面试官,他回答的一段话:

我问的是:您好请问我可以提前去学习,准备些什么技能呢~?

面试官回答:我们不看中你是不是会特别多的东西,我们校招过来更重要看中你的学习能力,如果我们要招一个什么都会的人,我们直接社招就行了。(虽然真假参半,但是有一定的道理)

小结

一定要多面试,面得多成长也快

个人觉得有一个这样的定律:

你的能力决定的不是面试成功的是与否,而是面试的成功率,能力越高,成功率越大,能力相对较低,只是成功率低,并不是没有机会,面试也看眼缘和你整个人的气质,相信自己。

多面试,不要放弃。

在关键点下力,关键技能,关键时机,在关键的时机对关键技能下力,取得意想不到的效果!

希望秋招能够再接再厉!拿到自己满意的结果!

最后

文章的最后为大家准备了一些Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等,祝大家都能拿到心仪的offer!
在这里插入图片描述
在这里插入图片描述

有需要的朋友点这里直接去下载就好了,希望对你有帮助!

热门文章

暂无图片
编程学习 ·

那些年让我们目瞪口呆的bug

程序员一生与bug奋战,可谓是杀敌无数,见怪不怪了!在某知识社交平台中,一个“有哪些让程序员目瞪口呆的bug”的话题引来了6700多万的阅读,可见程序员们对一个话题的敏感度有多高。 1、麻省理工“只能发500英里的邮件” …
暂无图片
编程学习 ·

redis的下载与安装

下载redis wget http://download.redis.io/releases/redis-5.0.0.tar.gz解压redis tar -zxvf redis-5.0.0.tar.gz编译 make安装 make install快链方便进入redis ln -s redis-5.0.0 redis
暂无图片
编程学习 ·

《大话数据结构》第三章学习笔记--线性表(一)

线性表的定义 线性表:零个或多个数据元素的有限序列。 线性表元素的个数n定义为线性表的长度。n为0时,为空表。 在比较复杂的线性表中,一个数据元素可以由若干个数据项组成。 线性表的存储结构 顺序存储结构 可以用C语言中的一维数组来…
暂无图片
编程学习 ·

对象的扩展

文章目录对象的扩展属性的简洁表示法属性名表达式方法的name属性属性的可枚举性和遍历可枚举性属性的遍历super关键字对象的扩展运算符解构赋值扩展运算符AggregateError错误对象对象的扩展 属性的简洁表示法 const foo bar; const baz {foo}; baz // {foo: "bar"…
暂无图片
编程学习 ·

让程序员最头疼的5种编程语言

世界上的编程语言,按照其应用领域,可以粗略地分成三类。 有的语言是多面手,在很多不同的领域都能派上用场。大家学过的编程语言很多都属于这一类,比如说 C,Java, Python。 有的语言专注于某一特定的领域&…
暂无图片
编程学习 ·

写论文注意事项

参考链接 给研究生修改了一篇论文后,该985博导几近崩溃…… 重点分析 摘要与结论几乎重合 这一条是我见过研究生论文中最常出现的事情,很多情况下,他们论文中摘要部分与结论部分重复率超过70%。对于摘要而言,首先要用一小句话引…
暂无图片
编程学习 ·

安卓 串口开发

上图: 上码: 在APP grable添加 // 串口 需要配合在项目build.gradle中的repositories添加 maven {url "https://jitpack.io" }implementation com.github.licheedev.Android-SerialPort-API:serialport:1.0.1implementation com.jakewhart…
暂无图片
编程学习 ·

2021-2027年中国铪市场调研与发展趋势分析报告

2021-2027年中国铪市场调研与发展趋势分析报告 本报告研究中国市场铪的生产、消费及进出口情况,重点关注在中国市场扮演重要角色的全球及本土铪生产商,呈现这些厂商在中国市场的铪销量、收入、价格、毛利率、市场份额等关键指标。此外,针对…
暂无图片
编程学习 ·

Aggressive cows题目翻译

描述&#xff1a; Farmer John has built a new long barn, with N (2 < N < 100,000) stalls.&#xff08;John农民已经新建了一个长畜棚带有N&#xff08;2<N<100000&#xff09;个牛棚&#xff09; The stalls are located along a straight line at positions…
暂无图片
编程学习 ·

剖析组建PMO的6个大坑︱PMO深度实践

随着事业环境因素的不断纷繁演进&#xff0c;项目时代正在悄悄来临。设立项目经理转岗、要求PMP等项目管理证书已是基操&#xff0c;越来越多的组织开始组建PMO团队&#xff0c;大有曾经公司纷纷建造中台的气质&#xff08;当然两者的本质并不相同&#xff0c;只是说明这个趋势…
暂无图片
编程学习 ·

Flowable入门系列文章118 - 进程实例 07

1、获取流程实例的变量 GET运行时/进程实例/ {processInstanceId} /变量/ {变量名} 表1.获取流程实例的变量 - URL参数 参数需要值描述processInstanceId是串将流程实例的id添加到变量中。变量名是串要获取的变量的名称。 表2.获取流程实例的变量 - 响应代码 响应码描述200指…
暂无图片
编程学习 ·

微信每天自动给女[男]朋友发早安和土味情话

微信通知&#xff0c;每天给女朋友发早安、情话、诗句、天气信息等~ 前言 之前逛GitHub的时候发现了一个自动签到的小工具&#xff0c;b站、掘金等都可以&#xff0c;我看了下源码发现也是很简洁&#xff0c;也尝试用了一下&#xff0c;配置也都很简单&#xff0c;主要是他有一…
暂无图片
编程学习 ·

C语言二分查找详解

二分查找是一种知名度很高的查找算法&#xff0c;在对有序数列进行查找时效率远高于传统的顺序查找。 下面这张动图对比了二者的效率差距。 二分查找的基本思想就是通过把目标数和当前数列的中间数进行比较&#xff0c;从而确定目标数是在中间数的左边还是右边&#xff0c;将查…
暂无图片
编程学习 ·

项目经理,你有什么优势吗?

大侠被一个问题问住了&#xff1a;你和别人比&#xff0c;你的优势是什么呢? 大侠听到这个问题后&#xff0c;脱口而出道&#xff1a;“项目管理能力和经验啊。” 听者抬头看了一下大侠&#xff0c;显然听者对大侠的这个回答不是很满意&#xff0c;但也没有继续追问。 大侠回家…
暂无图片
编程学习 ·

nginx的负载均衡和故障转移

#注&#xff1a;proxy_temp_path和proxy_cache_path指定的路径必须在同一分区 proxy_temp_path /data0/proxy_temp_dir; #设置Web缓存区名称为cache_one&#xff0c;内存缓存空间大小为200MB&#xff0c;1天没有被访问的内容自动清除&#xff0c;硬盘缓存空间大小为30GB。 pro…
暂无图片
编程学习 ·

业务逻辑漏洞

身份认证安全 绕过身份认证的几种方法 暴力破解 测试方法∶在没有验证码限制或者一次验证码可以多次使用的地方&#xff0c;可以分为以下几种情况︰ (1)爆破用户名。当输入的用户名不存在时&#xff0c;会显示请输入正确用户名&#xff0c;或者用户名不存在 (2)已知用户名。…