一、前言
在家呆了一周了,每天浑浑噩噩地过着,刷剧、打游戏、看电影、打网球。。。今天决定还是提起精神认真写一写秋招总结。
自身情况:某211渣硕,通信跨专业抢饭碗,有一些外企和运营商的开发实习(导师不放,只敢就近找),和一丢丢竞赛。
目前offer:阿里、网易、京东、多益。
悲剧了的:大疆——二面面试官嫌弃我只会java和python(貌似那边用node-js比较多),卒;
字节跳动——(白金内推)一面面试官不太会java,全程问算法和数据库,算法题有一个没听明白,解释多次无果,卒;
因为收到阿里和网易的口头offer比较早,阿里8月24,网易8月22,我是java研发而且想去杭州所以已经达到目标,加上家里有急事,就提前结束秋招回家了,之后的面试和笔试我就几乎都拒了,只有京东听说今年加薪很猛就试了一下,然后运气比较好也顺利收到offer。所以只有这几家公司的面经,大家将就着看看吧~。
二、笔试、面试准备
1.笔试
选择题:牛客网多刷刷就行(如图)
编程题:LeetCode(前100道)
不要看着就100道,刷题不是比谁刷的多,一定要总结,懒点的可以做里面经典的。经典的题目我已经挑出来了(可以加小姐姐Vx: k15197783918 免费领取)
2. 面试
基础!基础!基础!要记住,这是校招,不要专注于那些花里胡哨的技能,越大的公司对应届生的基础就越在乎,其他的在业务场景下都能快速培养,真的要是喜欢会那些技能的他干嘛不花个几千块请那些职业学校的来?
我把面试要问的东西主要分为以下几大块,每块的具体内容大家都有自己的学习途径,我就不赘述了。下面指出各大块需要注意的地方。
java基础:⭐⭐⭐⭐⭐
除了面经中常见的一些知识点牢记于心外,一定要挑出某两三块进行深挖成为自己的亮点(深入源码,甚至源码为什么这么写的级别),比如:垃圾回收、juc包等;
数据结构与算法基础:⭐⭐⭐⭐⭐
最常问的就是各大数据结构的特点和区别,八大排序+外排序每个都要会手写以及他们的时间空间复杂度(最优最坏)、稳定性等;
然后一些面试问的算法题目,就平时自己做的算法总结+剑指offer足矣(笔试-leetcode,面试-剑指offer)
自己的项目和实习:⭐⭐⭐⭐
这个多多少少还是要有一些的,如果没有就去网上找项目把源码看懂,改成自己的。但是,一定要熟悉!熟悉!再熟悉!绝对不要有凑简历的想法,
面试官都是面过很多人的,你这个项目几斤几两问两句就被问出来了,不熟悉的还不如不写哦。在熟悉的基础上把项目里面某一个点弄透彻点也很重要,方便面试官提问。
开源框架:⭐⭐⭐⭐
SSH/SSM,懒点的可以只学SSM,对于Spring的两大块源码一定要看,AOP两种实现和适配器的实现(学会适配器模式再看,不难)
数据库:⭐⭐⭐⭐
了解Oracle,熟悉Mybatis,数据库引擎和mvcc很重要!
设计模式:⭐⭐⭐
这个一般问的少,会那么7种一般就可以了:创建型——简单工厂(三种)、单例;
结构型——适配器、装饰者、代理;(要会区分这三个)
行为型——模板方法、观察者。
计算机网络:⭐⭐
主要是要清楚4.5.7层模型,http访问流程,dns解析过程,http头,tcp三握四挥,会写socket通信、http代理等。
操作系统:⭐⭐
线程vs进程。然后会间接地问,比如问你怎么在linux系统上排查cpu负载过高的情况,以及java程序full-gc过多的情况等等,再背背那么一些常用命令以及vim的操作即可。
分布式系统:⭐⭐
就看看一些面经上经常出现的一致性哈希、redis缓存、会写LRU、主从复制、rpc原理等等即可,有时间的可以去好好看看阿里的分布式开源框架Dubbo作为自己的亮点(我只是了解过)
设计类题目:⭐
比如设计一个秒杀系统、怎样快速从上亿个电话中查询到你要的那个,这个是面试的加分项,不是必须
平时准备的时候看面经自己进行总结就行,不会作为面试决定性因素,不用放过多的精力。
三、面试注意事项
在这之前先指出几点:
1. 自我介绍很重要;
首先,“面试官您好,。。”然后用一句话简单介绍自己姓名、来自那所学校、学院、专业、研究方向(可无)即可,如果成绩优秀可以在此指出,比如前10%;
然后可以用一句话表明自己对应聘职位的热爱原因作为衔接过渡,比如“因为享受用代码解决问题的感觉,从而热爱编程”;
再然后就是分别介绍自己的优势,比如实习经历和竞赛经历,比如“自己先后于**公司和**公司实习过**月,动手能力是比较强的”;(这就是通过摆事实再介绍自己)
继续就是介绍自己的擅长领域,重点!!,这就是给面试官一个面试的切入点&#