动机:
最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司。我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪个知识点今天又问了等等。四月中旬的时候,我就在构思要写一篇面经,主要是想着可能对那些跟我相同处境的人有点帮助,再者就是稍微记录下这为期一个月的面试过程。
本文地址:http://blog.csdn.net/v123411739/article/details/71437307

个人介绍:
首先介绍下我面试时的自身条件情况,我把自己的情况分为优势和劣势来说可能更有利于你们比较自身情况。

劣势:

15年7月毕业后开始到上海工作,面试的时候是17年3月到4月,一年多的经验,勉强算两年经验。分析:一年多经验我认为是比较尴尬的,处于一个不上不下的位置,很多公司比较喜欢招三年经验的,或者直接招应届生来培养。
毕业于一个非985/211,勉强上一本的高校。分析:这个相对影响较小,因为有工作经验后,公司对学校的要求就没那么高了,只要是本科就基本没问题,但是还是有个别叼毛公司只要985/211。
前一家公司是传统电信行业,加入项目组时,项目已经上线有段时间了,我们的任务就是有需求就开发,有bug就优化,其他时间就聊骚,各干各的,工作一年多跟在养老一样,用一句话说就是编程5分钟,扯淡2小时,项目经验严重不足,没开发过很难的需求。分析:这一点是最伤的,公司招有经验的就想看你都干了些什么牛批的东西,结果你告诉面试官我写的需求都是垃圾。
优势:

大学时拿过比较多的奖,校级优秀学生,市级优秀毕业生,省级ACM二等奖等。分析:大学的荣誉对一个有工作经验的人来说,公司不一定会看重,但是可能会对面试官产生微妙的影响,特别是ACM奖,我碰到过有的面试官也是搞过ACM的,有共同的话题聊起来总是比较容易的,但是也要注意不能把这一栏篇幅写的过于多,只能当作点缀用,我当时是放在简历最后一栏,简要的写了最主要的几个奖。
良好的沟通交流能力。分析:这个能力不会是关键性的,但是可以加分。
较强的学习能力和逻辑思维能力。分析:有些公司和面试官还是比较看重一个人的学习能力的,经验代表着你现在在什么级别,而学习能力则代表着你将来能到达什么级别。
学习过程:
看了我的优劣势介绍,你会发现我的优势相对于我的劣势来说,简直不值一提。我自己对此也有清晰的认识,因此从过完年之后,我就开始抓紧空闲时间学习。学习的过程如下:

1.看面试题
正常人第一步肯定都会看面试题,我也不例外,在看的过程中,我发现有些文章写的不错,对我帮助不小值得推荐,如下:

Java面试题全集(上)很多基础的东西,建议先看。
各大公司Java后端开发面试题总结
面试心得与总结—BAT、网易、蘑菇街
关于Java面试,你应该准备这些知识点
2.深入学习
在看面试题的过程,你会遇到一些自己没接触过的或者以前没深入学习过的知识,例如最常问的HashMap内部实现原理,这就促使你得开始去看JDK的源码或者是学习一些新的东西。看源码是很重要的一步,起步很难,但是会让你收益良多,看源码的过程如果碰到无法理解的地方,可以百度看下别人的理解。我学习源码的过程中,看过几个人的关于源码的文章写的很不错,如下:

五月的仓颉
zhangshixi的Core java系列
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%满意了吗,如果不是,请继续努力找更好的。
通过面试官可以大概判断这家公司的情况。
拉勾投的简历很多会被筛掉,但是拉勾还是面试机会的最主要来源。
理想的公司可以多投几次,我有好几次都是第一次投被筛掉,多投几次就过的经验。
问到自己有深入研究过的知识,抓住机会好好表现,不要轻易放过。
---------------------

原文链接: https://blog.csdn.net/v123411739/article/details/71437307?utm_source=copy

Java开发工作面试总结(转)相关推荐

  1. 2021年4月22日 阿里供应链Java开发实习面试(三面)(含总结)

    title: 2021年4月22日 阿里供应链Java开发实习面试(三面) tags: 面经 2021年4月22日 阿里供应链Java开发实习面试(三面) 上来就手撕一道代码--输入一个数,然后顺时针 ...

  2. java开发工作经历_开发人员在寻找第二份工作时会经历什么

    java开发工作经历 Just a little background before we begin. I have been working as a mobile app developer f ...

  3. [ Java面试题 ]Java 开发岗面试知识点解析

    在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编程(JUC 包) JVM 内存管理 Java 8 知识点 ...

  4. 2020春招 / 2021秋招阿里、腾讯、字节、快手、美团 JAVA 开发岗面试高频问题总结

    2020春招 / 2021秋招阿里.腾讯.字节.快手.美团 JAVA 开发岗面试高频问题总结 2.1 进程和线程的区别? 2.2 进程的调度算法有哪些?(主要) 2.3 常用 IO 模型? 2.4 s ...

  5. 网易Java开发岗面试分享

    应对互联网技术面试绝不仅仅是刷题就可以达到的.首先选择技术岗位,其次每个岗位开始都是先着手面经,多看到了解,提炼出必考的技术点合集,最后针对这些必考技术,系统学习,融会贯通. 对这个岗位的必备技能,一 ...

  6. 天津大宇宙java开发岗面试

    天津大宇宙java开发岗面试 笔试 面试 笔试 刚开始来我们这里宣讲,介绍了一下天津大宇宙的一些情况,这是一家日本公司投资的企业.有想要去日本发展的可以考虑一下.我们面试的是java开发岗. 他们有个 ...

  7. Java 开发岗面试知识点大全解析

    本人简介:北京邮电大学土著硕士研究生,CSDN博客专家,熟悉的技术为Java后台开发.在2017年暑期实习校招中拿到了百度.搜狐.京东和去哪儿网的实习Offer:在2018届校园招聘中,拿到了百度.小 ...

  8. 知名互联网公司 Java 开发岗面试知识点解析

    GitBook.cn 天之道, 损有余而补不足, 是故虚胜实, 不足胜有余. 如背景中介绍,作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向. 在不断的面试中,分类总结了 Java 开发 ...

  9. Java开发实习生面试经历与总结

    Java开发实习生面试经历与总结 更新日期:2020年1月1日 一.引言--初生牛犊不怕虎 2019年 我是从大二暑假开始,正式进入Java的学习.大二上学期的时候,学校开设了只有11周的Java程序 ...

  10. Java开发岗面试攻略(应届)

    开发岗面试系列文章目录 第一章 Java开发岗面试攻略(应届) 文章目录 开发岗面试系列文章目录 前言 一.Java技术栈 1.Java速成学习路线 二.Java面试题 1.博主自己总结的面试题(应届 ...

最新文章

  1. InfoQ播客: Shuman Ghosemajumder谈安全和网络犯罪
  2. 重装华为服务器系统软件,服务器系统重装软件
  3. 【HDOJ】3006 The Number of set
  4. 用Artifactory管理内部Maven仓库
  5. 《Orange’s 一个操作系统的实现》3.保护模式3----DOS加载.EXE过程
  6. 03-drawcommands工程分析详解
  7. Oracle中for update造成锁表,致使无法删除或更新表内容
  8. 想要换壁纸,看这个网站就够了!
  9. Android接收短信
  10. [Topic]Advanced Run Time Type Identification in C++
  11. python3编译成exe运行_python3.x的程序如何打包成exe可执行文件
  12. 程序员必须掌握的 12 个 JavaScript 技能!
  13. 教你在 CentOS 8上安装GCC实现开发编译功能
  14. Cascadea for Mac(强大的CSS编辑器)
  15. sublime text 2 常用快捷键
  16. 共享内存shared pool (3):Library cache
  17. opengl 纹理贴到对应的位置_OpenGL常用命令备忘录(Part B)
  18. 挑战程序设计竞赛:Nim
  19. 匿名邮件实现的方式及原理
  20. react-native Android使用阿里icon font图标

热门文章

  1. 本地服务器上文件夹在哪里,本地服务器在哪个文件夹
  2. 计算机基础会计,2008-2009-1会计《计算机基础》a卷
  3. vss不能一次获取整个项目
  4. 【Unity3D】UGUI之InputField
  5. Pat(Basic Level)Practice--1032(挖掘机技术哪家强)
  6. CentOS7.9安装GitLab(离线)
  7. 数字图像与机器视觉基础#2
  8. 南京邮电大学C语言编程作业网站,南京邮电大学C语言程序设计网站上机习题参考答案...
  9. 关于AA mirror 连接时出现黑屏死机问题请求大神解决。联系方式weixin号491952582
  10. 北野宏明:机器人世界杯与索尼机器狗之父,探索诺奖级大发现|42问AI与机器人未来...