java面试技巧,BAT 面试官 如何面试


写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。扫码加微信好友进【程序员面试学习交流群】,免费领取。也欢迎各位一起在群里探讨技术。

简历

1.HR看简历,都是看技术关键词。可以多看招聘要求,简历上要多写些关键词。比如io,集合,多线程,并发,spring,mysql,分布式等等。


2.可以准备多份简历,根据不同的jd发送不同的简历。


3.网上简历做成pdf格式会好一些,word因为版本原因可能排版会变乱。


4.网上简历可以稍微夸大一下,半懂不懂的也写上去。纸质简历一定要将半懂不懂的技术去掉。当然,最好还是保持一致。


5.没有了解过的技术,不要写在纸质简历上,一问就蒙了。


6.频繁跳槽的经历,可以合成一段。频繁跳槽给人的印象很差。


7."个人评价"直接写技术栈,不要写乐观向上,团结友爱这些。


8."项目经验"除了介绍项目,还要写清楚涉及到的技术内容,以及自己负责的模块。


9.博客、GitHub都是加分项。不要担心自己写的东西很简单,其实几乎没有面试官会去看的。


10.阅读过Java源码,Spring源码。这些也是加分项。

项目经验

项目简介:


我任任职XX公司XX部门,该部门后台系统主要由API模块,APP后台模块,算法模块以及数据模块组成。后台的任务通过分布式任务系统进行任务管理。


责任描述:


我主要负责XX模块,实现了XX功能、XX功能和XX功能。XX功能运用到了XX技术……


技术要点:


整套系统部署在公司的服务器上,主要基于公司的Mysql集群和Redis集群做数据存储,使用MQ集群做消息队列,基于ZK集群搭建高可用系统,前期我们服务之前的调用方式都是基于HTTP的方式,服务耦合性较高,后期我们基于SpringCloud框架做了整个系统的微服务化,进行解耦。

投递网站

拉勾网:专注互联网招聘。可以直接上传简历,非常方便,还可以查看面试的评价。


BOSS直聘:在线聊天,之后再投简历。可以先设置好招呼语,比如:

你好,我正在找java开发的工作。

XX年毕业,本科,XX大学,XX专业。

java基础扎实,熟悉io,集合,多线程,并发;

熟悉spring,springMvc,mybatis,springBoot,springCloud等框架,

熟悉分布式/微服务,缓存redis,消息队列kafka,服务协调zookeeper等。

猎聘网:会有猎头来找你。可以设置成只有猎头可以查看。


51job:工作岗位挺多的。


其他:智联招聘。


1.除非实在找不到工作,否则记得将简历设置成不可查看,不然一大堆外包公司打电话过来。


2.不要直接就投递给大公司。先投简历给一些中小型公司,总结自己的不足,然后再去心仪的公司面试,这样拿到好offer的机率更大。


3.面试几家练练手后,就可以投给比较大的公司了。筛选出500-2000人以上的公司。


4.记得时常刷新简历。这样猎头更容易找到你。

内推

内推更靠谱些。直接跳过投简历环节,可以通过同学/朋友了解到公司内部的情况。


如果面试成功,内推的人是可以拿到奖励的。因此,找朋友内推别不好意思,人家也是愿意拿钱的。


我以前内推过朋友进公司,赚了三天工资。哈哈。

公司

1.最好是互联网行业。有最新的技术。复杂的场景。高可用高并发分布式。


2.技术栈最好要匹配。如果不是理想的技术栈,可能干久了还是没有长进。


3.其次是中大型规模的公司IT部门。最好是几百人以上的公司。


4.其他的选择:


创业公司:做的事情太杂。需要通才,什么脏活累活都得干,加班太多了。而且创业公司随时有裁员、倒闭的可能。


外包公司:外包干久了,只会变成搬运工,而且外包的工作经历可能会减分。


国企:技术特别落后,流程极慢,人际关系复杂。不过国企上班时间很短,适合养老。


外企:外企加班一般不多。


5.可以通过“看准网”、“职友集”这类网站查看公司的评价。

跳槽准备

1.想要跳槽,最好提前两个月,开始准备面试。


2.离职证明,用彩色打印多几份,章也是红色的,跟原件基本是一样的。

行业及产品

除了技术栈和薪水,还要考虑行业和产品。


行业背景也很重要。假如你去面试一家金融公司,那么做过有关金融的项目经验就是极大的加分项。

扫描二维码关注公众号,回复: 5972498 查看本文章

面试资料

1.书籍:《码出高效》(重点看集合和多线程的源码讲解,非常实用),《剑指offer》,《java程序员面试宝典》,《Cracking the Coding Interview(6th)》


2.网站:牛客网、LeetCode


如果想进大公司,必须刷题。面试时可能需要手写算法。


3.看准网、职友集等平台,面试前可以先查看某公司的面试题。

技术模块

优先级:java基础,集合,多线程,并发,ssm,数据库,jvm ,分布式,网络,操作系统。


加分项:高并发、分布式、微服务


其他:linux,git


数据结构和算法:手写代码、手写算法


项目经验:这个主要介绍项目,以及自己负责的模块及技术,因人而异。


如果去大公司面试,非常注重技术广度和技术深度。一般会进行连环炮问法。对某一个知识点,一直深问到底层原理。


比如,问线程池参数,你回答后就会问参数中的"拒绝策略"有哪些?阻塞队列有哪些?队列是默认值是什么?有哪些不同类型的线程池?怎么自己设计一个线程池?


如果想进大公司,一定要多读源码,理解底层原理。


如果是高级开发或者架构,那还会考验系统设计能力、架构能力。


各模块面试题可查看: https://www.cnblogs.com/expiator/category/1372059.html

面试

1.完全不懂的,就直接说不会,瞎扯给人的印象更差。


2.半懂不懂的,可以说一时想不起来,让面试官提示一下。


3.不懂的东西,一个字都不要提。不然人家一问就蒙了。比如人家问redis可以做什么?就说缓存,如果没用过分布式锁,千万别提。


4.不要一直由面试官说话。有时可以自己推进。。比如面试官问新建线程的方式有哪些?你回答完之后,还可以再补充一下。说开发中用线程池比较多,那面试官可能就会问你一些线程池的技术。


5.其实,负责java岗位的面试官,有可能是搞c++/php的,也可能是不懂技术的管理人员。遇到不懂技术的,可能适当说些专业术语吹吹牛。不过,一个不懂技术的人来面试java岗位,可能公司是不太靠谱的。


6.平常工作中比较少用到的知识,如果实在理解不了,可以背起来。

手写代码

1.有时候需要手写代码,最好自己先写一遍。


2.算法:数组、字符串、栈、链表、树、查找算法(尤其二分查找法)、各种排序算法(快排最重要、冒泡比较"低端"),可以看下《剑指offer》


3.设计模式:面试要求写的有单例模式(最好能写线程安全的)、工厂模式、观察者模式、代理模式、生产者消费者模式。


4.就算是写不出来,也可以写些伪代码,或者说一下大体的思路,最重要的就是思路。

提问问题

面试后面试官可能会问,“你还有什么要问我的?”


1.介绍一下技术团队的规模和人员。有几个后端?有没有产品人员?


2.团队做的是什么项目?属于哪些方面?


3.使用了哪些技术栈?有没有用到分布式或者微服务的技术?有没有落地?


4.公司的作息时间。


5.做开发肯定是要加班的,但我想了解一下加班的强度。

心态

1.面试也是提高能力的一种方法。在学习过程中,需要设定目标,分模块逐步学习,测试学习成果,获取反馈,针对不足刻意训练。


而面试就是一种获取反馈的有效手段。可以针对面试不足,不断总结提高。


把面试当成是交流和学习吧,心态放平会好很多。


转载:https://www.cnblogs.com/expiator/p/10256372.html

推荐内容:
Java多线程面试题整理
java面试
【Java】几道常见的秋招面试题
Java线程面试题 Top 50
史上最全阿里 Java 面试题总结
Java 最常见的 200+ 面试题汇总
Java面试题(一)
Java 面试知识点解析(六)——数据库篇
转载:[Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
Java_集合面试题

猜你喜欢

转载自blog.csdn.net/weixin_43037770/article/details/89392072
今日推荐