• 【面试】:面试之前做好这些准备,让你的成功率高达90%


    1.看面试题

    正常人第一步肯定都会看面试题,我也不例外。

    2.深入学习

    在看面试题的过程,你会遇到一些自己没接触过的或者以前没深入学习过的知识,例如最常问的HashMap内部实现原理,这就促使你得开始去看JDK的源码或者是学习一些新的东西。看源码是很重要的一步,起步很难,但是会让你收益良多,看源码的过程如果碰到无法理解的地方,可以百度看下别人的理解。

    3.熟悉项目

    找出自己工作以来开发过的最叼的功能,将整个功能的流程和涉及的东西吃透(这边有个小捷径,如果你觉得项目中别人做的某个功能很牛逼,你可以把这个功能吃透,面试时可以拿出来讲)。项目是面试中必问的环节,一般是以一个功能点为基础展开问,因此你必须对这个功能有很深的认识,不能有模糊的地方。如果有时间,能把涉及到的知识点也搞懂最好。

    4.做笔试题

    有不少公司是有笔试的,如果你没有准备过,很容易在各种小地方犯错,建议去一些笔试题网站多做些题目,我自己是用的牛客网。

    5.学习记录

    把自己每天的学习时间和学习内容记录下来,可以让自己更有动力的学习,学习是一个枯燥的过程,你必须让自己时刻保持有动力。

    投简历、约面试环节

    1.在哪些网站投?

    拉勾网、BOSS直聘、猎聘网。

    2.是否该海投?

    投简历分为两个情况。

    没有社招面试经验:建议采取海投的方式,只要职位要求跟自己比较匹配都可以投,累计面试经验。这个环节可以把投简历的网站增加两家:智联和无忧。
    自认为社招面试经验已经足够:投那些职位匹配、公司满意的职位。公司评价可以去看准网、百度、知乎等查询。

    3.一天约几家面试合适?

    最理想的情况为2家面试,上午一般在10点左右,下午一般在2点左右。建议把理想的公司放下午,因为下午的时间比较充足,可以让公司更充分的了解你。我开始面的时候,每次都是上午面的不好,下午面的不错。

    4.投简历经常没下文?

    我当初也没想到简历筛选这关有这么难,可能是我的简历确实亮点不多,再者HR很多都不是行内人,因此他们看得最直接的就是你上家的公司和你毕业的学校,如果你不是从牛逼的公司/学校出来,可能会碰到和我一样的情况,应对的办法就是多投。

    5.是否该裸辞?

    我一开始是边上班边投,然后利用调休时间,或者请假去面试。后来,面试机会越来越多,请假太频繁了,自己都不好意思了,并且自己也已经有足够的信心,这个时候我选择了裸辞。裸辞还有一个原因是,在面试过程中你会发现,有的公司要人要的紧,如果你的辞职流程过长可能会导致你错过这个公司。

    6.注意事项

    面试前一天把路线和时间算好,最好别迟到。
    背个书包,带好简历、充电宝、纸巾、雨伞。
    面试环节

    1.笔试常见的问题?

    笔试常见的问题上面给的面试题链接基本都有。我只提几点:

    写SQL很常考察group by、内连接和外连接。
    手写代码:手写代码一般考单例、排序、线程、消费者生产者。我建议排序算法除了冒泡排序,最好还能手写一种其他的排序代码。试想:如果一般面试者都写的冒泡排序,而你写的是快速排序/堆排序,肯定能给面试官留下不错的印象。

    2.面试流程?

    让你自我介绍
    问Java基础知识
    问项目
    情景问题,例如:你的一个功能上了生产环境后,服务器压力骤增,该怎么排查。
    你有什么想问面试官的

    3.面试常问的知识点?

    1)集合相关问题(必问):

    HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现。
    HashMap和Hashtable的区别。
    ArrayList、LinkedList、Vector的区别。
    HashMap和ConcurrentHashMap的区别。
    HashMap和LinkedHashMap的区别。
    HashMap是线程安全的吗。
    ConcurrentHashMap是怎么实现线程安全的。

    2)多线程并发相关问题(必问):

    创建线程的3种方式。
    什么是线程安全。
    Runnable接口和Callable接口的区别。
    wait方法和sleep方法的区别。
    synchronized、Lock、ReentrantLock、ReadWriteLock。
    介绍下CAS(无锁技术)。
    volatile关键字的作用和原理。
    什么是ThreadLocal。
    创建线程池的4种方式。
    ThreadPoolExecutor的内部工作原理。
    分布式环境下,怎么保证线程安全。

    3)JVM相关问题:

    介绍下垃圾收集机制(在什么时候,对什么,做了什么)。
    垃圾收集有哪些算法,各自的特点。
    类加载的过程。
    双亲委派模型。
    有哪些类加载器。
    能不能自己写一个类叫java.lang.String。

    4)设计模式相关问题(必问):

    先问你熟悉哪些设计模式
    然后再具体问你某个设计模式具体实现和相关扩展问题。

    5)数据库相关问题,针对Mysql(必问):

    给题目让你手写SQL。
    有没有SQL优化经验。
    Mysql索引的数据结构。
    SQL怎么进行优化。
    SQL关键字的执行顺序。
    有哪几种索引。
    什么时候该(不该)建索引。
    Explain包含哪些列。

    6)框架相关问题:

    Hibernate和Mybatis的区别。
    Spring MVC和Struts2的区别。
    Spring用了哪些设计模式。
    Spring中AOP主要用来做什么。
    Spring注入bean的方式。
    什么是IOC,什么是依赖注入。
    Spring是单例还是多例,怎么修改。
    Spring事务隔离级别和传播性。
    介绍下Mybatis/Hibernate的缓存机制。
    Mybatis的mapper文件中#和$的区别。
    Mybatis的mapper文件中resultType和resultMap的区别。

    7)其他遇到问题:

    介绍下栈和队列。
    IO和NIO的区别。
    接口和抽象类的区别。
    int和Integer的自动拆箱/装箱相关问题。
    常量池相关问题。
    ==和equals的区别。
    重载和重写的区别。
    String和StringBuilder、StringBuffer的区别。
    静态变量、实例变量、局部变量线程安全吗,为什么。
    try、catch、finally都有return语句时执行哪个。
    介绍下B树、二叉树。
    ajax的4个字母分别是什么意思。
    xml全称是什么。
    分布式锁的实现。
    分布式session存储解决方案。
    常用的linux命令。

    最后有一些经验:

    先投一些普通公司,等面出了心得再去投理想的公司。
    不熟悉的技术不要主动提。
    对于那种实习期6个月还打8折的公司,除非你没有其他选择了,否则不要去。
    小公司喜欢在薪水上压你,开的时候适当提高。
    不要去参加招聘会,纯粹是浪费时间。
    把面试当作一次技术的交流,不要太在意是否能被录取。
    公司一般面完就决定是否录取了,让你回去等消息这种情况一般没戏,无论你自己觉得面的有多好。
    尽量少通过电话面试,效果不好。
    在面试的日子里,要保持每天学习,无论是学习新东西还是复习旧东西。
    拿到offer了,问问自己这个公司让自己100%满意了吗,如果不是,请继续努力找更好的。
    通过面试官可以大概判断这家公司的情况。
    拉勾投的简历很多会被筛掉,但是拉勾还是面试机会的最主要来源。
    理想的公司可以多投几次,我有好几次都是第一次投被筛掉,多投几次就过的经验。
    问到自己有深入研究过的知识,抓住机会好好表现,不要轻易放过。

    看完觉得对你有帮助记得点个赞哦!

  • 相关阅读:
    [ 低危 ] mt网CRLF
    mysql之字段的修改,添加、删除,多表关系(外键),单表详细操作(增删改)
    mysql 之编码配置、引擎介绍、字段操作、数据类型及约束条件
    Navicat Premium永久激活方式
    centos 用户名密码忘记了怎么办?
    并发编程总结
    初识mysql
    线程queue、线程进程池,协程
    python解释器
    线程全局修改、死锁、递归锁、信号量、GIL以及多进程和多线程的比较
  • 原文地址:https://www.cnblogs.com/lwh1019/p/12890943.html
Copyright © 2020-2023  润新知