자바 프로그래머 인터뷰 경험과 권고, MySQL은 HF 소울 공유 (권장 컬렉션)

자바 프로그래머 인터뷰 경험과 권고, MySQL은 HF 소울 공유 (권장 컬렉션)


1,240

서문 :

본 논문에서는 또한 MySQL의 얼굴 질문 뒤에 몇 가지를 공유 동료 ××× 테스트 고주파 고주파 문제 나 지식을 가지고 모든 도움을 희망 권고뿐만 아니라 인터뷰 과정 일부 개인적인 경험의 일부 사람들을 인터뷰하기 오 공유

얼굴 질문 개발자의 주요 관객, 그래서 MySQL의 서비스 및 기타 작업, 그리고 더 많은 콘텐츠를 배포 관련이없는, 모두가 인내심을 준비하고 미네랄 워터의 씨앗.

시스템의 버스트는 비트 MySQL의 내용을하기 전에 몇 가지 구체적인 경험이있다, 인터뷰와 MySQL 관련 기사를 볼 수있는 기회가, 나는이 질문의 일부 지식을 가장 많이 알고 지식이 있지만, 자신을 잘 대답하지만, 발견 시리즈.

면접 경험 및 제안

이력서 배달

여러 가지 방법으로 배달, 나는 우리 모두가 알고 생각합니다. 같은 부드러움으로 작업 현장에 프로그래머 일반적으로 수직 배달, 보스 등등 후크를 당겨, 직선 모집. Zhaopin이 좋아지고, 우리의 프로그래머에 적합하지, 당신은 알고있다. 또한, 그들은 신병 모집 후크 그래서 만약 수업 혈액 되었기 때문에, 내가 귀찮게하지 않으려 고 큰 소하지 않기 때문에. 그래서 이력서 또는 자신보다 신뢰성, 또는 보간을 캐스팅하려고합니다.

회견

나는 도시를 가로 질러, 그래서 그것에 대해 이야기, 현장 인터뷰가 아닌 형식이있는 경우 나, 전화 인터뷰 일반적으로 면접 + 비디오 인터뷰를받은.

일반적으로, 인터뷰 과정도 나쁘지 않다. 자신을 소개하고 자신의 업무 경험의 일부뿐만 아니라, 내용 중 일부는 자신의 주로 책임이 무엇인지에 초점을 첫째. 이것은 사전에 약간의 준비를 할 수 있지만, 같은 옹호하지 않는다, 특별히 준비를 필요로하지 않는다, 그러나 그것은 사실이 아니다.

1 명 기술 면접

평균이 회사는 기술 면접도 가능성 제조업체 반올림, 두세 인터뷰 기법을해야하지만 연구의 각 라운드의 내용은 다음과 매우 일치하지 않는 자신의 몇 가지 문제의 일부입니다.

1.1 자바 기초

이 시점에서 일반적으로 같은 자바의 기본적인 지식을 물어

동기화 정적 클래스와 방법의 차이는 무엇인가, 수정

원칙적으로 기본 데이터 구조의 재탕 포인터 충돌의 과정을 해시 맵

HashMap의 스레드 안전 문제, 왜 그러한 스레드 안전 문제가

ConcurrentHashMap의 데이터 구조, 기본 원칙은 넣어 스레드 안전 여부를 얻을

등 NIO, BIO 포함한 자바 IO의 일부 요소,

1.2 자바 고급 기능

此时问到的问题一般包含JVM,多线程的一些内容,这块建议大家多看看源码,大致如下:

Java线程池的构造方法,里面参数的含义,以及原理

volatile和ThreadLocal解决了什么问题

CAS在Java中的具体实现

Java虚拟机的构成,以及一个Java对象的生命周期,还有堆栈和方法区中存储的内容

JVM的GC过程,包括一些实际问题的分析,比如说明一个现象,让你分析可能是什么原因会导致这样的问题,应该如何对JVM参数进行调优

synchronized和Lock的区别,以及底层实现原理

Full GC和Minor GC触发的条件

GC Roots的选择

jmap,jstat,jstack等的使用场景,MAT等

ClassLoader的加载过程

CountDownLatch、CyclicBarrier和Semaphore等

Java 8 的新特性等

1.3 数据库

这里的数据库包含两种,一种一般是MySQL,另外是NoSql数据库,包括Redis、MongoDB等。一般会问的问题有:

inner join和left join等的区别

SQL调优,explain,profile等

InnoDB和Myisam的区别

ACID

数据库的事务隔离级别,以及他们分别能解决什么问题

Redis的几种数据结构

Redis是单线程还是多线程

Redis的持久化

悲观锁和乐观锁的含义

最左前缀索引,索引的数据结构,聚簇索引等(这块还没搞明白)

1.4 框架

1.4.1 Spring

因为spring是我们常用的框架,所以这块的内容会问的比较多,也会比较细。

Spring的两大特性(IoC和AOP)

Spring的bean的生命周期

Spring是如何解决Bean的循环引用问题的

AOP的两种实现方式,以及两者的区别(这里其实使用了动态代理,具体动态代理分为两种,一种是JDK的动态代理,主要使用的是JDK的反射,还有一种是CGLib,两者区别可以自己搜索,文章比较多)

AOP一般的使用场景

Spring的事务原理

1.4.2 MyBatis

这块问到的比较简单些:

$和#的区别

MyBatis和Hibernate的区别

源码,一般问的比较少

1.4.3 Dubbo

因为平时自己用到了Dubbo,所以这块会有问到:

RPC的原理

Dubbo是如何完成远程调用的

Dubbo如何进行调优

Dubbo的通信协议

Dubbo是如何实现负载均衡的

1.4.4 ZooKeeper

ZK的使用场景

ZK的选举机制

ZK的节点类型

一致性Hash原理

1.5 数据结构和算法

这块的内容是基础,如果面试官怀疑你的能力,一般一会问到这部分内容,比如树的遍历、快速排序等。

1.6 linux

一般会问一些命令的使用,然后会举一个实际的场景,让你用命令去排查问题,这块自己不是很熟,需要尽快加强。

1.7 综合题

这块的题目,面试官一般会问的比较深入。比如如何设计一个抢购系统,String转Integer等,这部分需要考验的就是一个人的临场应变能力,以及在平时工作中系统设计能力的积累,以及考虑问题是否周到等。也有可能会对你简历上面写的系统的设计进行详细的询问,所以在你写简历的时候,千万不能把自己不熟悉的内容写上去,而且自己又讲不清,这样一般会被直接pass掉。

当然也会问一些常用的maven的命令,设计模式的题目(这部分问的比较多的就是单例模式)。

2 HR面试

这块一般会问一些离职原因,当然也会问一些平时工作中遇到的问题,自己是如何解决的。如果聊得好,这时候HR会跟你谈薪资。问到目前薪资的时候,我目前是实事求是的告知的。这里,可能会有很多人报高一些,差不多的话,问题一般不大,如果太夸张的话,后续可能会有问题,比如让你提供银行流水等,差太多的话,可能会有诚信问题。

另外就是薪资涨幅的问题,我的原则是会事先对公司的规模这块进行考虑,然后结合目前的薪资,一般会设置一个范围(后来发现这样很不好,会处于被动),在当前薪资的基础上上浮30%的样子(可能各地有差异,不过这个会比较安全)。如果你很擅长谈这个,请忽略之。

此外,最重要的可能就是五险一金的缴纳了。一般小的公司会让你选择是避税还是不避税,这里面还是有点学问的。避税的话,可能你的公积金会很少。目前我遇到过两种,一种是每个月按照固定的额度给你交公积金,不论你以后的工资是否上涨,都跟公积金没有关系;还有一种是按照一个额度给你交,一般是工资的7%给你交,或者按照最低标准给你交。遇到这种情况,请自己慎重考虑是否需要接收offer。

最后,福利这块也可以问问,比如问一些年终奖,年假,加班调休等。

1,240

自己整理的一份俩百多页Java核心知识点PDF,有一说一这个核心知识宝典,可是给了我巨大的帮助,帮我斩获了很多的offer,这份pdf知识点可以分享给大家×××某人 资料即可免费领取

面试题

主要包括索引,事务,优化等方面,以在面试中高频的问句形式给出答案.

索引相关

关于MySQL的索引,曾经进行过一次总结,文章链接在这里 Mysql索引原理及其优化.

1. 什么是索引?

2. 索引是个什么样的数据结构呢?

3. Hash索引和B+树所有有什么区别或者说优劣呢?

4. 上面提到了B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据,什么是聚簇索引?

5. 非聚簇索引一定会回表查询吗?

6. 在建立索引的时候,都有哪些需要考虑的因素呢?

7. 联合索引是什么?为什么需要注意联合索引中的顺序?

8. 创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因?

9. 那么在哪些情况下会发生针对该列创建了索引但是在查询的时候并没有使用呢?

事务相关

1. 什么是事务?

2. ACID是什么?可以详细说一下吗?

3. 同时有多个事务在进行会怎么样呢?

4. 怎么解决这些问题呢?MySQL的事务隔离级别了解吗?

5. Innodb使用的是哪种隔离级别呢?

6. 对MySQL的锁了解吗?

7. MySQL都有哪些锁呢?像上面那样子进行锁定岂不是有点阻碍并发效率了?

表结构设计

1. 为什么要尽量设定一个主键?

2. 主键使用自增ID还是UUID?

3. 왜 요구 필드가 NOT NULL로 정의된다?

당신이 사용자의 암호 해시를 저장하려면, 어떤 필드는 저장을 위해 사용되어야한다 4.?

저장소 엔진 관련

1. 무엇 MySQL의 스토리지 엔진을 지원합니까?

구름 조금 문제

차이점이 무엇인지 1. MySQL의 varchar 및 문자.

2. VARCHAR (10) 및 INT (10) 무엇을 의미 하는가?

3. MySQL의의 바이너리 로그 여러 항목 형식이있다?의 차이는 각각 무엇입니까?

4. 대형 페이징 어떻게 처리합니까?

5. 그것을 소비하는 SQL 내부 업무 시스템에 대해 걱정? 어쨌든 통계 느린 쿼리를? 쿼리 속도가 느린 최적화 방법에?

제 상술의 횡 방향 및 종 방향 분할 테이블 부분 표는, 이들은 적당한 차이의 예를 제공 할 수 있는가?

7. 저장 프로 시저는 무엇입니까? 장점과 단점은 무엇인가?

세 가지 패러다임에 대한 (8) 이야기

# 9. MyBatis로

독자 복지

위의 얼굴 질문에, 나는 문서 아키텍처와 모든 사람들이 (두보, 레디 스, 인 Netty, 사육사, 봄 클라우드를 포함하여 비디오 자료를 공유하는 무료를 만든 얼굴 면접 질문 및 답변의 대부분에 관여하는 인터넷 회사 자바 프로그래머를 요약 당신의 사전 인터뷰를 검토하는 데 도움과 좋은 직장을 찾을 수 있지만, 또한 당신에게 정보를 온라인 학습을 검색 할 수있는 시간을 절약하기를 바라고, 분산, 높은 동시성 아키텍처 기술 정보). 자신의 학습을 향상시키기 위해 자신의 시간의 매 순간의 합리적인 사용은, 자신의 이데올로기 게으름을 숨기기 위해 "시간"을 사용하지 않습니다!

액세스 : 데이터를 쉽게 편집 ××× 사람들이 무료로 얻을 수 있습니다. 위의 문서는 오 PDF 필수

1,240


추천

출처blog.51cto.com/14456091/2446613