java Guide 面试指南

原文链接
看到第二点发现忘了前面的,所以自己写一遍,摘出对自己有用的.

目录

  • 1.程序员的简历
    • 1.1Makedown(部分)
          • 1.1.1标题
          • 1.1.2提前断行
          • 1.1.3列表
            • 无序
            • 有序
    • 1.2两大法则
        • STAR法则(Situation Task Action Result)
        • FAB 法则(Feature Advantage Benefit)
    • 1.3项目经历怎么写
    • 1.4专业技能该怎么写?
    • 1.5排版注意事项
    • 1.6tips
    • 1.7推荐的工具/网站
  • 2.初出茅庐的程序员该如何准备面试?
    • 2.1如何获得大厂机会
    • 2.2面试前的准备
      • 2.2.1自我介绍
      • 2.2.2搞清楚技术面可能会问哪些方向的问题
      • 2.2.3休闲着装即可
      • 2.2.4随身带上自己的成绩单和简历
      • 2.2.5如果需要笔试就提前刷一些笔试题
      • 2.2.6花时间一些逻辑题
      • 2.2.7准备好自己的项目介绍
      • 2.2.8面试之前做好定向复习
  • 3.面试问题
    • 1.非计算机专业的学生能学好 Java 后台吗?我能进大厂吗?
    • 2.没有项目经历/博客/Github 开源项目怎么办?
    • 3.大厂青睐什么样的人?
    • 应届生
  • 4.开源项目推荐
  • 5.问面试官的问题
    • 面对HR或者其他Level比较低的面试官时
    • 面对部门领导
    • 面对Level比较高的(比如总裁,老板)
  • 6.应届生面试最爱问的几道 Java 基础问题
  • 7.美团面试常问问题
  • 自己看视频的其他事项

1.程序员的简历

推荐使用Markdown语法写简历,然后再将Markdown格式转换为PDF格式后进行简历投递。

1.1Makedown(部分)

1.1.1标题
# 这是 H1
## 这是 H2
###### 这是 H6
1.1.2提前断行
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
> 
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.
1.1.3列表
无序
*   Red
*   Green
*   Blue

+   Red
+   Green
+   Blue

-   Red
-   Green
-   Blue``
有序
1.  Bird
2.  McHale
3.  Parish

1.2两大法则

STAR法则(Situation Task Action Result)

  • Situation: 事情是在什么情况下发生;
  • Task:: 你是如何明确你的任务的;
  • Action: 针对这样的情况分析,你采用了什么行动方式;
  • Result: 结果怎样,在这样的情况下你学习到了什么。
    简而言之,STAR法则,就是一种讲述自己故事的方式,或者说,是一个清晰、条理的作文模板。不管是什么,合理熟练运用此法则,可以轻松的对面试官描述事物的逻辑方式,表现出自己分析阐述问题的清晰性、条理性和逻辑性。

FAB 法则(Feature Advantage Benefit)

  • Feature: 是什么;
  • Advantage: 比别人好在哪些地方;
  • Benefit: 如果雇佣你,招聘方会得到什么好处。
    简单来说,这个法则主要是让你的面试官知道你的优势、招了你之后对公司有什么帮助。

1.3项目经历怎么写

1.对项目整体设计的感受
2.负责什么,担任角色,做了什么
3.学到了什么,使用了哪些技术,学会了什么新技术的应用
4.另外项目描述中,最好可以体现自己的综合素质,比如你是如何协调项目组成员协同开发的或者在遇到某一个棘手的问题的时候你是如何解决的又或者说你在这个项目用了什么技术实现了什么功能比如:用redis做缓存提高访问速度和并发量、使用消息队列削峰和降流等等。

1.4专业技能该怎么写?

自己会什么,公司需要什么.可以看关键字,花几天学习一下,写了解.如下
计算机网络、数据结构、算法、操作系统等课内基础知识:掌握
Java 基础知识:掌握
JVM 虚拟机(Java内存区域、虚拟机垃圾算法、虚拟垃圾收集器、JVM内存管理):掌握
高并发、高可用、高性能系统开发:掌握
Struts2、Spring、Hibernate、Ajax、Mybatis、JQuery :掌握
SSH 整合、SSM 整合、 SOA 架构:掌握
Dubbo: 掌握
Zookeeper: 掌握
常见消息队列: 掌握
Linux:掌握
MySQL常见优化手段:掌握
Spring Boot +Spring Cloud +Docker:了解
Hadoop 生态相关技术中的 HDFS、Storm、MapReduce、Hive、Hbase :了解
Python 基础、一些常见第三方库比如OpenCV、wxpy、wordcloud、matplotlib:熟悉

1.5排版注意事项

1.尽量简洁,不要太花里胡哨;
2.一些技术名词不要弄错了大小写比如MySQL不要写成mysql,Java不要写成java。这个在我看来还是比较忌讳的,所以一定要注意这个细节;
3.中文和数字英文之间加上空格的话看起来会舒服一点;

1.6tips

1.写简历要慎重(不会的别写在简历上),这是面试官要提问的地方
2.考虑凸显亮点 如在项目中做什么事解决什么问题,在项目中使用技术提升了性能和并发量
3.应届生不要错过春招和秋招
4.完美展示项目经历很重要
5.尽量避免主观表述,少一点语义模糊的形容词,尽量要简洁明了,逻辑结构清晰。
6.如果自己有博客或者个人技术栈点的话,写上去会为你加分很多。
7.如果自己的Github比较活跃的话,写上去也会为你加分很多。
8.项目经历建议以时间倒序排序,另外项目经历不在于多,而在于有亮点。
9.如果内容过多的话,不需要非把内容压缩到一页,保持排版干净整洁就可以了。
10.简历最后最好能加上:“感谢您花时间阅读我的简历,期待能有机会和您共事。”这句话,显的你会很有礼貌。

1.7推荐的工具/网站

冷熊简历(MarkDown在线简历工具,可在线预览、编辑和生成PDF)

2.初出茅庐的程序员该如何准备面试?

秋招和春招:秋招数量多,含金量高.

2.1如何获得大厂机会

1.关注官网
2.线下宣讲会,直接投递简历
3.认识的人内推
4.博客和github优秀作者被看中
5.求职网站(不推荐,适合海投)

2.2面试前的准备

2.2.1自我介绍

1.擅长技术
2.重点放在突出自己的优势和能力
eg:
社招:

面试官,您好!我叫独秀儿。
我目前有1年半的工作经验,熟练使用Spring、MyBatis等框架、了解 Java 底层原理比如JVM调优并且有着丰富的分布式开发经验。
离开上一家公司是因为我想在技术上得到更多的锻炼。在上一个公司我参与了一个分布式电子交易系统的开发,负责搭建了整个项目的基础架构并且通过分库分表解决了原始数据库以及一些相关表过于庞大的问题,目前这个网站最高支持 10 万人同时访问。工作之余,我利用自己的业余时间写了一个简单的 RPC 框架,这个框架用到了Netty进行网络通信, 目前我已经将这个项目开源,在 Github 上收获了 2k的 Star!
说到业余爱好的话,我比较喜欢通过博客整理分享自己所学知识,现在已经是多个博客平台的认证作者。 生活中我是一个比较积极乐观的人,一般会通过运动打球的方式来放松。我一直都非常想加入贵公司,我觉得贵公司的文化和技术氛围我都非常喜欢,期待能与你共事!

校招:

面试官,您好!我叫秀儿。
大学时间我主要利用课外时间学习了 Java 以及 Spring、MyBatis等框架 。
在校期间参与过一个考试系统的开发,这个系统的主要用了 Spring、MyBatis 和 shiro 这三种框架。我在其中主要担任后端开发,主要负责了权限管理功能模块的搭建。另外,我在大学的时候参加过一次软件编程大赛,我和我的团队做的在线订餐系统成功获得了第二名的成绩。我还利用自己的业余时间写了一个简单的 RPC 框架,这个框架用到了Netty进行网络通信, 目前我已经将这个项目开源,在 Github 上收获了 2k的 Star!
说到业余爱好的话,我比较喜欢通过博客整理分享自己所学知识,现在已经是多个博客平台的认证作者。 生活中我是一个比较积极乐观的人,一般会通过运动打球的方式来放松。我一直都非常想加入贵公司,我觉得贵公司的文化和技术氛围我都非常喜欢,期待能与你共事!

2.2.2搞清楚技术面可能会问哪些方向的问题

java Guide 面试指南_第1张图片
不需要全部熟悉,要分清主次,不熟悉的技术不要写在简历上,简单了解的技术不要说熟练掌握!

2.2.3休闲着装即可

2.2.4随身带上自己的成绩单和简历

2.2.5如果需要笔试就提前刷一些笔试题

2.2.6花时间一些逻辑题

2.2.7准备好自己的项目介绍

如果有项目的话,技术面试第一步,面试官一般都是让你自己介绍一下你的项目。你可以从下面几个方向来考虑:

1.对项目整体设计的一个感受(面试官可能会让你画系统的架构图)
2.在这个项目中你负责了什么、做了什么、担任了什么角色
3.从这个项目中你学会了那些东西,使用到了那些技术,学会了那些新技术的使用
4.另外项目描述中,最好可以体现自己的综合素质,比如你是如何协调项目组成员协同开发的或者在5遇到某一个棘手的问题的时候你是如何解决的又或者说你在这个项目用了什么技术实现了什么功能比如:用redis做缓存提高访问速度和并发量、使用消息队列削峰和降流等等。

2.2.8面试之前做好定向复习

所谓定向复习就是专门针对你要面试的公司来复习。比如你在面试之前可以在网上找找有没有你要面试的公司的面经。

举个栗子:在我面试 ThoughtWorks 的前几天我就在网上找了一些关于 ThoughtWorks 的技术面的一些文章。然后知道了 ThoughtWorks 的技术面会让我们在之前做的作业的基础上增加一个或两个功能,所以我提前一天就把我之前做的程序重新重构了一下。然后在技术面的时候,简单的改了几行代码之后写个测试就完事了。如果没有提前准备,我觉得 20 分钟我很大几率会完不成这项任务。

3.面试问题

1.非计算机专业的学生能学好 Java 后台吗?我能进大厂吗?

建议非科班的同学,首先要打好计算机基础知识基础:① 计算机网络、② 操作系统、③ 数据机构与算法,我个人觉得这 3 个对你最重要。这些东西就像是内功,对你以后的长远发展非常有用。当然,如果你想要进大厂的话,这些知识也是一定会被问到的。另外,“一定学好数据结构与算法!一定学好数据结构与算法!一定学好数据结构与算法!”,重要的东西说 3 遍。

2.没有项目经历/博客/Github 开源项目怎么办?

1.跟着网上视频做,不但做还要改善.
2.写博客(掘金、Segmentfault、CSDN 等技术交流社区),也可以自己搭建博客.
可以写学习笔记、实战内容、读书笔记
3.多用 Github,用好 Github,上传自己不错的项目,写好 readme 文档,在其他技术社区做好宣传。

3.大厂青睐什么样的人?

1.底层知识比如 jvm :不只是懂理论更会实操;
2.面向对象编程能力 :我理解这个不仅包括“面向对象编程”,还有 SOLID 软件设计原则,相关阅读:
写了这么多年代码,你真的了解 SOLID 吗?
3.框架能力 :不只是使用那么简单,更要搞懂原理和机制!搞懂原理和机制的基础是要学会看源码。
4.分布式系统开发能力 :缓存、消息队列等等都要掌握,关键是还要能使用这些技术解决实际问题而不是纸上谈兵。
5.不错的 sense :喜欢和尝试新技术、追求编写优雅的代码等等。

应届生

1.参加过竞赛( 含金量超高的是 ACM );
2.对数据结构与算法非常熟练;
3.参与过实际项目(比如学校网站)
4.熟悉 Python、Shell、Perl 其中一门脚本语言;
5.熟悉如何优化 Java 代码、有写出质量更高的代码的意识;
6.熟悉 SOA 分布式相关的知识尤其是理论知识;
7.熟悉自己所用框架的底层知识比如 Spring;
8.有高并发开发经验;
9.有大数据开发经验等等。

4.开源项目推荐

原地址

5.问面试官的问题

面对HR或者其他Level比较低的面试官时

1.能不能谈谈你作为一个公司老员工对公司的感受? (这个问题比较容易回答,不会让面试官陷入无话可说的尴尬境地。另外,从面试官的回答中你可以加深对这个公司的了解,让你更加清楚这个公司到底是不是你想的那样或者说你是否能适应这个公司的文化。除此之外,这样的问题在某种程度上还可以拉进你与面试官的距离。)
2.能不能问一下,你当时因为什么原因选择加入这家公司的呢或者说这家公司有哪些地方吸引你?有什么地方你觉得还不太好或者可以继续完善吗? (类似第一个问题,都是问面试官个人对于公司的看法。)
3.我觉得我这次表现的不是太好,你有什么建议或者评价给我吗?(这个是我常问的。我觉得说自己表现不好只是这个语境需要这样来说,这样可以显的你比较谦虚好学上进。)
4.接下来我会有一段空档期,有什么值得注意或者建议学习的吗? (体现出你对工作比较上心,自助学习意识比较强。)
5.这个岗位为什么还在招人? (岗位真实性和价值咨询)
6.大概什么时候能给我回复呢? (终面的时候,如果面试官没有说的话,可以问一下)

面对部门领导

1.部门的主要人员分配以及对应的主要工作能简单介绍一下吗?
2.未来如果我要加入这个团队,你对我的期望是什么? (部门领导一般情况下是你的直属上级了,你3.以后和他打交道的机会应该是最多的。你问这个问题,会让他感觉你是一个对他的部门比较上心,比较有团体意识,并且愿意倾听的候选人。)
4.公司对新入职的员工的培养机制是什么样的呢? (正规的公司一般都有培养机制,提前问一下是对你自己的负责也会显的你比较上心)
5.以您来看,这个岗位未来在公司内部的发展如何? (在我看来,问这个问题也是对你自己的负责吧,谁不想发展前景更好的岗位呢?)
6.团队现在面临的最大挑战是什么? (这样的问题不会暴露你对公司的不了解,并且也能让你对未来工作的挑战或困难有一个提前的预期。)

面对Level比较高的(比如总裁,老板)

1.贵公司的发展目标和方向是什么? (看下公司的发展是否满足自己的期望)
2.与同行业的竞争者相比,贵公司的核心竞争优势在什么地方? (充分了解自己的优势和劣势)
3.公司现在面临的最大挑战是什么?

6.应届生面试最爱问的几道 Java 基础问题

原地址

7.美团面试常问问题

原地址

自己看视频的其他事项

1.版本控制的了解

你可能感兴趣的:(java,面试,java,面试)