アリjava面接経験(面接問題解析を含む)
6022 ワード
私は3年の开発経験、18年の年末から仕事を探して、インターネットの寒い冬の下でアリババ、今日のトップ、滴滴などの会社offerを手に入れることに成功して、ポストはJavaのバックエンドの开発で、最后にアリババに行きました.
多くの会社を面接しましたが、ほとんどの会社は考察の点が少ないと感じています.だから、自分の心得をメモして、仕事を探している友达や準備をしている友达に助けてほしいと思っています.また、現在アリでも面接官の仕事をしており、身分が求職者から面接官に変わっているため、問題を見る角度も異なることが多いので、以下に求職者の視点もあれば、面接官の視点もあります.
面接プロセス
まず面接の流れについてお話しします.一般的に大企業には3-4ラウンドの技術面、1ラウンドのHR面があります.アリにとって、私は全部で4ラウンドの技術面を経験して、前の2ラウンドは主に基礎とプロジェクトの実現を聞いて、第3ラウンドは交差面で、2人の面接官、主にプロジェクトの実現と開拓を聞いています.第4ラウンドは部門のボスで、主にいくつかのアーキテクチャ、技術と業務の理解、個人の発展の比較的抽象的なものを聞いた.
HR面は主にあなたと話をして、あなたの個人の安定性、価値観、主体性などを見て、普通のHRは人を掛けませんが、多くの人はHR面の後で掛けました.原因は実はあなたがHR面での表現が悪い(少数の場合を除く)のではなく、あなたの前のいくつかの面の表現が一般的で、60点より少し高い(だから前の面接で直接掛けなかった)ので、しかし80点にも達しず、この時会社はhc、人材比率、他の候補者との対比など複数の次元で考え、offerをあげるかどうかを最終的に決定します.
また、特に言えば、今日のトップ記事のアルゴリズムに対する考察は比較的に多く、私は4ラウンドの技術に直面して、1ラウンドごとに1~2つのアルゴリズムの問題を聞いて、leetcodeのeasyとmediumの難易度かもしれません.だからトップに行きたい人はまずleetcodeに行って問題を塗ったほうがいいです.
注意すべき点
履歴書は1~2ページがベストです.2~3ページ程度書くと悪くなりません.最も明るい項目を書かなければなりません.仕事の経歴の開始時間をはっきり書かなければなりません.また、大手企業は背調があります.短い仕事の経歴を合併したり省略したりしないでください.影響は今回の面接だけでなく、その後、この会社のブログに入ることができないかもしれません.良い文章はありません.githubは良い項目がなければ履歴書に書かないでください.
面接官の質問に対して、よく考えてから答えます.必要な時間が長いと思ったら、面接官に私が考えている、考えを整理しているなどできないことがあったら、直接言わないでください.分からないふりをしないでください.
确かな问题に遭遇するには、自信を持って、时には面接官がわざと疑いのニュアンスで面接の过程を考察する可能性があります.面接の過程で自信を持つことができますが、面接官と口論しないでください.面接が終わったら、直接面接結果を聞かないでください.
面接は自信を持って自慢しないで、ある候補にhashmapをよく知っていると聞いたことがあるが、hashmapの拡張を聞くとhashを再計算する必要があるかどうかを聞くと愚かになった.多くの人にとって、面接官はいつもあなたを聞く方法があります.面接のたびに、どのような答えの悪いところがあるのか、どのような知識点の盲区があるのかをまとめて、解決します.
なぜ転職したいのかと聞かれると、前の会社にツッコミを入れるのではなく、自分の発展などの観点から考えるべきです.また、就活中に素質のない面接官に出会ったこともあります.だから、面接官や将来面接官になる学生の皆さんも、面接の過程で基本的な礼儀と尊重を保つことができます.アリがよく言ったように、あなたが他の人を面接するとき、他の人もあなたを面接しています.
最も重要なのは、何度も面接に失敗したからといって、自分を疑い始めないで、面接の結果=実力+運を永遠に覚えておくことです.时にはあなたの得意なものは面接官が全然できないかもしれないので、彼は分からないことを聞くのに多くの时間を費やすことはできません.时には彼があなたに闻くことができるかもしれませんが、相手の质问の仕方、ニュアンスなどの原因で、答えがスムーズではありません.
次に技術に関する考察について述べる.
総じて言えば、技術関連の考察は主に2つの大きな塊に分けられ、1つは基礎であり、2つは経験である.
基礎にはjava基礎、データベース、ミドルウェアなどがあり、日常の蓄積や面接前の準備から来ています.
経験には、これまでに行われたプロジェクト、解決した問題、およびいくつかのシーン問題(例えば、あなたのプロジェクトが10倍になったら、どのように利用できるか)が含まれています.
本文は主に基礎を述べ,次の文章では経験を述べる.
基礎以下は面接でよく考察される知識点の整理だと思いますが、ほとんどがよくある面接問題です.
JAvaベース
しゅうごう
スレッドセキュリティの集合
同時
多くの会社を面接しましたが、ほとんどの会社は考察の点が少ないと感じています.だから、自分の心得をメモして、仕事を探している友达や準備をしている友达に助けてほしいと思っています.また、現在アリでも面接官の仕事をしており、身分が求職者から面接官に変わっているため、問題を見る角度も異なることが多いので、以下に求職者の視点もあれば、面接官の視点もあります.
面接プロセス
まず面接の流れについてお話しします.一般的に大企業には3-4ラウンドの技術面、1ラウンドのHR面があります.アリにとって、私は全部で4ラウンドの技術面を経験して、前の2ラウンドは主に基礎とプロジェクトの実現を聞いて、第3ラウンドは交差面で、2人の面接官、主にプロジェクトの実現と開拓を聞いています.第4ラウンドは部門のボスで、主にいくつかのアーキテクチャ、技術と業務の理解、個人の発展の比較的抽象的なものを聞いた.
HR面は主にあなたと話をして、あなたの個人の安定性、価値観、主体性などを見て、普通のHRは人を掛けませんが、多くの人はHR面の後で掛けました.原因は実はあなたがHR面での表現が悪い(少数の場合を除く)のではなく、あなたの前のいくつかの面の表現が一般的で、60点より少し高い(だから前の面接で直接掛けなかった)ので、しかし80点にも達しず、この時会社はhc、人材比率、他の候補者との対比など複数の次元で考え、offerをあげるかどうかを最終的に決定します.
また、特に言えば、今日のトップ記事のアルゴリズムに対する考察は比較的に多く、私は4ラウンドの技術に直面して、1ラウンドごとに1~2つのアルゴリズムの問題を聞いて、leetcodeのeasyとmediumの難易度かもしれません.だからトップに行きたい人はまずleetcodeに行って問題を塗ったほうがいいです.
注意すべき点
履歴書は1~2ページがベストです.2~3ページ程度書くと悪くなりません.最も明るい項目を書かなければなりません.仕事の経歴の開始時間をはっきり書かなければなりません.また、大手企業は背調があります.短い仕事の経歴を合併したり省略したりしないでください.影響は今回の面接だけでなく、その後、この会社のブログに入ることができないかもしれません.良い文章はありません.githubは良い項目がなければ履歴書に書かないでください.
面接官の質問に対して、よく考えてから答えます.必要な時間が長いと思ったら、面接官に私が考えている、考えを整理しているなどできないことがあったら、直接言わないでください.分からないふりをしないでください.
确かな问题に遭遇するには、自信を持って、时には面接官がわざと疑いのニュアンスで面接の过程を考察する可能性があります.面接の過程で自信を持つことができますが、面接官と口論しないでください.面接が終わったら、直接面接結果を聞かないでください.
面接は自信を持って自慢しないで、ある候補にhashmapをよく知っていると聞いたことがあるが、hashmapの拡張を聞くとhashを再計算する必要があるかどうかを聞くと愚かになった.多くの人にとって、面接官はいつもあなたを聞く方法があります.面接のたびに、どのような答えの悪いところがあるのか、どのような知識点の盲区があるのかをまとめて、解決します.
なぜ転職したいのかと聞かれると、前の会社にツッコミを入れるのではなく、自分の発展などの観点から考えるべきです.また、就活中に素質のない面接官に出会ったこともあります.だから、面接官や将来面接官になる学生の皆さんも、面接の過程で基本的な礼儀と尊重を保つことができます.アリがよく言ったように、あなたが他の人を面接するとき、他の人もあなたを面接しています.
最も重要なのは、何度も面接に失敗したからといって、自分を疑い始めないで、面接の結果=実力+運を永遠に覚えておくことです.时にはあなたの得意なものは面接官が全然できないかもしれないので、彼は分からないことを聞くのに多くの时間を費やすことはできません.时には彼があなたに闻くことができるかもしれませんが、相手の质问の仕方、ニュアンスなどの原因で、答えがスムーズではありません.
次に技術に関する考察について述べる.
総じて言えば、技術関連の考察は主に2つの大きな塊に分けられ、1つは基礎であり、2つは経験である.
基礎にはjava基礎、データベース、ミドルウェアなどがあり、日常の蓄積や面接前の準備から来ています.
経験には、これまでに行われたプロジェクト、解決した問題、およびいくつかのシーン問題(例えば、あなたのプロジェクトが10倍になったら、どのように利用できるか)が含まれています.
本文は主に基礎を述べ,次の文章では経験を述べる.
基礎以下は面接でよく考察される知識点の整理だと思いますが、ほとんどがよくある面接問題です.
JAvaベース
しゅうごう
:java.util java.util.concurrent 。
List
ArrayList LinkedList
Map
HashMap: 、hash ( )、 、 rehash
LinkedHashMap: 、 、 LRU
TreeMap: 、 key Compare 、
Set
Set map ,
hashmap hash , hashmap ?
hashmap ?
jdk1.8 hashmap ?
hashmap entry hash ?
hashmap 2 ?
LinkedHashMap LRU?
TreeMap hash?
スレッドセキュリティの集合
Collections.synchronized
CopyOnWriteArrayList
、 、 ConcurrentArrayList
ConcurrentHashMap
、 、 HashTable 。
BlockingQueue
LinkedBlockingQueue、ArrayBlockingQueue、DelayQueue、SynchronousQueue
ConcurrentHashMap ?
ConcurrentHashMap ?
LinkedBlockingQueue、DelayQueue ?
CopyOnWriteArrayList ?
同時
synchronized
、 、 、 ReentrantLock
CAS
AtomicInteger 、CAS 、
AQS
AQS 、 AQS ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier
ThreadLocal
ThreadLocal
ThreadPoolExecutor
synchronized ReentrantLock ?
?
?
AQS ?
ReentrantLock ?
CountDownLatch CyclicBarrier ? ?
ThreadLocal ? ?
?
?
?
?
:
Synchronized -- ( )
Java 、 、
:
Java ( )
?
Tomcat classloader
classloader
IO
BIO NIO 、
、 、 ?
select、poll、eopll ?
java NIO BIO ?
reactor ?
JVM
GC
、 、 CMS( G1)
jvm
CMS GC ? ?
CMS ?
Concurrent Model Failure ParNew promotion failed ?
CMS ?
GC ?
?
eden、survivor ?
?
、
? ?
?
jvm ?
: JVM
、 、
Spring
bean 、 、spring cloud( )、AOP 、spring
java cglib ( spring )
spring bean ?
?
Dubbo( Rpc )
RPC Dubbo : 、 、 、 、
Dubbo ?
Dubbo ?
Dubbo ?
Dubbo ?
RocketMq( )
RocketMq : 、 、 、 、 、
RocketMq ?
RocketMq ?
RocketMq ?
RocketMq ?
RocketMq ?
RocketMq ? ?
RocketMq ? ?
RocketMq ?
Consumer ?
Redis( )
redis 、redis 、redis 、redis 、 、 、 、
:《 Redis 》
:
Redis -
Redis -Sentinel
Redis -Clustor
redis ?
redis cpu ?
redis ?
redis ?
redis ?
redis ?
key value , redis ?
redis DB ?
?
redis ?
Mysql
、 、 、 、 、 (explain )
: http://hedengcheng.com/?p=771
https://tech.meituan.com/2014/06/30/mysql-index.html
http://hbasefly.com/2017/08/19/mysql-transaction/
Mysql(innondb ) ?
?
mysql 、 、 、 ?
?
?
mysql b+ tree b tree、
, ?
zk
zk ( Raft )、zk 、zk master
zk , redis
HBase( )
HBase 、 、merge split、 。
: http://hbasefly.com/2017/07/26/transaction-2/
Storm( )
Storm Map Reduce、Spark、Flink 。Storm 、 ack
, , , leetcode 100-200 easy medium , , 。