1. 程式人生 > >2018 大資料面試

2018 大資料面試

大資料工程師(開發)面試

1.HBase和Hive都是基於Hadoop,為什麼Hive查詢起來非常慢,但HBase不是?
Hive是類SQL引擎,其查詢都需要遍歷整張表,跑MapReduce自然很慢,但HBase是一種NoSQL的列式資料庫,基於Key/Value的儲存格式,不需要像Hive一樣遍歷,自然在速度上,乃至寫的效能上是相當之快的。

HIVE和HBASE區別

2.通過Java,判斷一個數是否是2的n次方?
我想到的一種方法是,給定範圍或者直接將Java語言所能表示的資料型別的最大值作為範圍,通過Math.pow(2,n)的方法,在整個範圍中遍歷,然後通過if’判斷比較,設定一個boolean值,如果在設定的範圍中有等於給出的數值的數,則將boolean值設定為true。反之為false。後來面試官給出了一個很巧妙的方法,將所給出的數與所給出的數減一的數進行與的位運算,如果運算結果為零則表示這個數為2的n次方,而這道題據說考驗的是資料敏感性。

【java】判斷一個數是不是2的N次方

3.Java中的經典排序演算法?
java的幾種經典排序演算法
程式設計師必知的8大排序-------氣泡排序,快速排序(java實現)

4.Java連結串列的概念、用法以及實現原理?
連結串列
陣列和連結串列–Java學習筆記(一)

5.Java HashMap有序嗎?如果沒序,那麼有序的map是怎麼實現的呢?
普通的HashMap沒有序,有序的HashMap有兩種:LinkedHashMap和TreeMap,其中前者是基於原有HashMap的定製拓展,後者採用了一種“紅黑樹”的演算法。

相關參考文獻

Map集合中的entry是什麼?
HashMap輸出順序的問題
有序的HashMap-LinkedHashMap
TreeMap實現原理
紅黑樹(Red-black tree)

6.JVM調優方法?
JVM調優總結

7.MapReduce的工作原理以及一個簡單的WordCount的實現流程和Daemon?
Hadoop叢集(第6期)_WordCount執行詳解

8.TCP工作在OSI模型的第幾層?IP呢?
前者工作在第四層:傳輸層,後者為第三層:網路層。

9.程序與執行緒的區別?程序有哪幾種狀態?
程序與執行緒的區別
程序狀態百度百科
殭屍程序百度百科

大資料工程師(儲存)面試

1.固態硬碟為什麼會比機械硬碟快?
固態硬碟為什麼會比機械硬碟快

2.快閃記憶體(flash)的實現原理?
flash百度百科

3.Python在爬取網頁的時候用到的庫?將網頁中的,全部替換為.如何實現?網頁中的圖片如何爬取?
①urllib
②re.sub:

③鍵檢視原始碼,找到圖片的相應匹配規則(當時想的深了,想著圖片的編碼怎麼在爬取的時候轉換和普通文字一致。。。。)比如jpg檔案那麼.jpg就是一個很好的匹配過濾條件,以爬取百度圖片-------hello為例:

圖形頁面:

原始碼介面:

具體爬取方式:
Python爬蟲爬取網頁圖片

4.利用MapReduce實現group by的功能?
MapReduce實現基本SQL操作的原理-join和group by,以及Dinstinct

5.Hive與HBase的區別?
之前看過一篇文章,所以就著文章篤定的答道:Hive是遍歷全表查詢的,忽略了前提條件,可以說是不嚴謹,那個前提條件就是Hive不做分割槽表的情況下:

HBase 與 Hive 的區別和關係
hive與hbase的聯絡與區別
hive中partition如何使用

6.什麼是ETL?
ETL百度百科
資料清洗百度百科
髒資料百度百科
元資料百度百科

7.Sqoop在超大資料的情況下,效能不佳,如何解決?
這個問題不是面試官問我的,而是出於疑惑,我請教面試官的,因為之前的一些面試,都談到Sqoop好不好用這個問題?基於Sqoop 的使用效果,我垂直搜尋了一下,發現,無非兩類:一是Sqoop2較Sqoop1的架構上的演進,以及Sqoop和淘寶的DataX,還有Kettel相比效能之優越,外掛之豐富,然而我要的是關於Sqoop的一些負面的文章,垂直搜尋的時候並沒有搜到。請教了面試官後,面試官給出瞭解答:Spark dataFrame,大量異構資料同步的一種框架級解決方案!!!

Hadoop教程:Hadoop資料傳輸工具Sqoop
大資料同步工具DataX與Sqoop之比較
Spark DataFrame小試牛刀

8.HBase二級索引如何建立?
HBase二級索引的設計(案例講解)

大資料工程師(開發)面試

1.LVS和HAProxy相比,它的缺點是什麼?
之前,的確是用LVS進行過MySQL叢集的負載均衡,對HAProxy也有過了解,但是將這兩者放在眼前進行比較,還真沒試著瞭解過。面試中出現了這麼一題,面試官給予的答案是LVS的配置相當繁瑣,後來查找了相關資料,對這兩種負載均衡方案有了更進一步的瞭解。LVS的負載均衡效能之強悍已經達到硬體負載均衡的F5的百分之60了,而HAproxy的負載均衡和Nginx負載均衡,均為硬體負載均衡的百分之十左右。由此可見,配置複雜,相應的效果也是顯而易見的。在查詢資料的過程中,試著將LVS的10種排程演算法瞭解了一下,看似數量挺多的10種演算法其實在不同的演算法之間,有些只是有著一些細微的差別。在這10種排程演算法中,靜態排程演算法有四種,動態排程演算法有6種。

靜態排程演算法:
①RR輪詢排程演算法
這種排程演算法不考慮伺服器的狀態,所以是無狀態的,同時也不考慮每個伺服器的效能,比如我有1-N臺伺服器,來N個請求了,第一個請求給第一臺,第二個請求給第二臺,,,第N個請求給第N臺伺服器,就醬紫。

②加權輪詢
這種排程演算法是考慮到伺服器的效能的,你可以根據不同伺服器的效能,加上權重進行分配相應的請求。

③基於目的地址的hash雜湊
這種排程演算法和基於源地址的hash雜湊異曲同工,都是為了維持一個session,基於目的地址的hash雜湊,將記住同一請求的目的地址,將這類請求發往同一臺目的伺服器。簡而言之,就是發往這個目的地址的請求都發往同一臺伺服器。而基於源地址的hash雜湊,就是來自同一源地址的請求都發往同一臺伺服器。

④基於源地址的hash雜湊
上述已講,不再贅述。

動態排程
①最少連線排程演算法
這種排程演算法會記錄響應請求的伺服器上所建立的連線數,每接收到一個請求會相應的將該伺服器的所建立連線數加1,同時將新來的請求分配到當前連線數最少的那臺機器上。

②加權最少連線排程演算法
這種排程演算法在最少連線排程演算法的基礎上考慮到伺服器的效能。當然,做這樣子的考慮是有其合理性存在的,如果是同一規格的伺服器,那麼建立的連線數越多,必然越增加其負載,那麼僅僅根據最少連線數的排程演算法,必然可以實現合理的負載均衡。但如果,伺服器的效能不一樣呢?比如我有一臺伺服器,最多隻能處理10個連線,現在建立了3個,還有一臺伺服器最多能處理1000條連線,現在建立了5個,如果單純地按照上述的最少連線排程演算法,妥妥的前者嘛,但前者已經建立了百分之三十的連線了,而後者連百分之一的連線還沒有建立,試問,這合理嗎?顯然不合理。所以加上權重,才算合理。相應的公式也相當簡單:active*256/weight。

③最短期望排程演算法
這種演算法,是避免出現上述加權最少連線排程演算法中的一種特殊情況,導致即使加上權重,排程器也無差別對待了,舉個栗子:
假設有三臺伺服器ABC,其當前所建立的連線數相應地為1,2,3,而權重也是1,2,3。那麼如果按照加權最少連線排程演算法的話,算出來是這樣子的:
A: 1256/1=256
B: 2256/2=256
C: 3256/3=256
我們會發現,即便加上權重,A、B、C,經過計算還是一樣的,這樣子排程器會無差別的在A、B、C中任選一臺,將請求發過去。
而最短期望將active256/weight的演算法改進為(active+1)256/weight
那麼還是之前的例子:
A:(1+1)256/1=2/1256=2256
B:(2+1)256/2=3/2256=1.5256
C:(3+1)256、3=4/3256≈1.3256
顯然C<B<A,那麼這時候排程器就會將請求發給C了哈。

④永不排隊演算法
將請求發給當前連線數為0的伺服器上。

⑤基於區域性的最少連線排程演算法
這種排程演算法應用於Cache系統,維持一個請求到一臺伺服器的對映,其實我們仔細想想哈,之前做的一系列最少連線相關的排程演算法。考慮到的是伺服器的狀態與效能,但是一次請求並不是單向的,就像有一個從未合作過的大牛,他很閒,你讓他去解決一個之前碰到過的一個問題,未必有找一個之前已經跟你合作過哪怕現在不怎麼閒的臭皮匠效果好哦~,所以基於區域性的最少連線排程演算法,維持的這種對映的作用是,如果來了一個請求,相對應的對映的那臺伺服器,沒有超載,ok交給老夥伴完事吧,俺放心,如果那臺伺服器不存在,或者是超載的狀態且有其他伺服器工作在一半的負載狀態,則按最少連線排程演算法在叢集其餘的伺服器中找一臺將請求分配給它。

⑥基於複製的區域性最少連線排程演算法
這種排程演算法同樣應用於cache系統,但它維持的不是到一臺伺服器的對映而是到一組伺服器的對映,當有新的請求到來,根據最小連線原則,從該對映的伺服器組中選擇一臺伺服器,如果它沒有超載則交給它去處理這個請求,如果發現它超載,則從伺服器組外的叢集中,按最少連線原則拉一臺機器加入伺服器組,並且在伺服器組有一段時間未修改後,將最忙的那臺伺服器從伺服器組中剔除。

相關參考文獻:
LVS基本介紹
LVS 三種工作模式原理、以及優缺點比較(轉載)
LVS十種排程演算法介紹
LVS叢集之十種排程演算法及負載均衡——理論
lvs、haproxy、nginx 負載均衡的比較分析
Keepalived百度百科
高可用開源方案 Keepalived VS Heartbeat對比

2.Sqoop用起來感覺怎樣?
說實話,Sqoop在匯入資料的速度上確實十分感人,通過進一步瞭解,發現Sqoop1和Sqoop2在架構上還是有明顯不同的,無論是從資料型別上還是從安全許可權,密碼暴露方面,Sqoop2都有了明顯的改進,同時同一些其他的異構資料同步工具比較,如淘寶的DataX或者Kettle相比,Sqoop無論是從匯入資料的效率上還是從支援外掛的豐富程度上,Sqoop還是相當不錯滴!!

3.ZooKeeper的角色以及相應的Zookepper工作原理?
果然,人的記憶力是有衰減曲線的,當面試官丟擲這個問題後,前者角色,我只答出了兩種(leader和follower),後者原理壓根就模糊至忘記了。所以惡補了一下,涉及到Zookeeper的角色大概有如下四種:leader、learner(follower)、observer、client。其中leader主要用來決策和排程,follower和observer的區別僅僅在於後者沒有寫的職能,但都有將client請求提交給leader的職能,而observer的出現是為了應對當投票壓力過大這種情形的,client就是用來發起請求的。而Zookeeper所用的分散式一致性演算法包括leader的選舉其實和-原始部落的獲得神器為酋長,或者得玉璽者為皇帝類似,誰id最小,誰為leader,會根據你所配置的相應的檔案在相應的節點機下生成id,然後相應的節點會通過getchildren()這個函式獲取之前設定的節點下生成的id,誰最小,誰是leader。並且如果萬一這個leader掛掉了或者墮落了,則由次小的頂上。而且在配置相應的zookeeper檔案的時候回有類似於如下字樣的資訊:Server.x=AAAA:BBBB:CCCC。其中的x即為你的節點號哈,AAAA對應你所部屬zookeeper所在的ip地址,BBBB為接收client請求的埠,CCCC為重新選舉leader埠。

相關參考文獻:
Zookeeper基本介紹

4.HBase的Insert與Update的區別?
這個題目是就著最近的一次專案問的,當時實現的與hbase互動的三個方法分別為insert、delete、update。由於那個專案是對接的一個專案,對接的小夥伴和我協商了下,不將update合併為insert,如果合併的話,按那個專案本身,其實通過insert執行overwrite相當於間接地Update,本質上,或者說在展現上是沒什麼區別的包括所呼叫的put。但那僅僅是就著那個專案的程式而言,如果基於HBase shell層面。將同一rowkey的資料插入HBase,其實雖然展現一條,但是相應的timestamp是不一樣的,而且最大的版本數可以通過配置檔案進行相應地設定。

相關參考文獻:
hbase shell&java 獲取多版本的值 .

大資料工程師(開發)面試

  1. Java的第三方模組你用過哪些?
    我:也沒有刻意去記,所以也沒說出來。
    補:技術乾貨:十個非常有用的第三方Java開源庫
    細數一下,上述所列十個裡,大致用過1/2。

  2. Python的第三方模組你用過哪些?
    我:爬蟲所用urllib,urllib2
    補:模組和包.那些讓你相見恨晚的PYTHON第三方好用的模組兒和包?

  3. 你用你的程式排程Kylin以及承接資料失敗怎麼辦?
    我:在排程之前有落地策略,所以不用擔心
    面試官:如果落地之前,程式就停止運行了怎麼辦?
    我:因為當初並沒有遇見或者著重這個問題,所以並沒有考慮到相應的解決策略。
    補:確實,資料落地是可靠性的一種保障,而保障本身也需要保障,之前工作中沒有遇見,所以沒有細加思考,現在想想,我們不妨藉助
    下圖Spark的一種故障恢復的手段進行發散:

可靠

Spark的失敗恢復和Hadoop的checkpoint有異曲同工之妙,就是在落地的時候並不是光落地個數據,同時也會落地相應的計算(操作)。所以落地前崩潰怎麼辦?我們可以設想一種方式進行資料操作的記錄,這樣子等失敗後重啟,依據相應的記錄可以實現斷點重傳的效果。再有甚者,遇到相當極端的情形,導致程式碼邏輯層面無法解決,那麼就從架構層面解決;架構層面如果無法解決,那麼就從運維層面解決;運維層面無法解決,那麼就從產品層面去解決。

4.Kylin有哪些元件?
我:Kylin極其的友好,是非侵入式的,所以談不上元件,Hive只是作為Kylin的MetaData,HBase只是作為Kylin Cube的MetaData。
補:其實這個問題,如果換成Kylin的組織架構怎麼樣?可能會答的好一點,因為當時的我已經沉醉在Kylin友好的非侵入式中無法自拔,所以從Hadoop般巨集觀層面去了解元件這個概念,比如Sqoop、HBase、Hive都可以說成是Hadoop的元件,但是他們每個單獨拿出來,又何嘗不是大資料圈中一等一的神器呢?所以如果說他們是Kylin的元件,一來有種臣服之感,二來也不能體現Kylin的友好非侵入。後來,查閱資料,對元件這個概念有了更深的瞭解,比如在某種層面上它又可以稱之為模組,每個系統可以有很多的模組構成,而這些個模組就類似於組成這個系統的部件,所以喚之元件也未嘗不可呀~
kylin(一): 原理架構

  1. 談一談,你心目中的Restful API?
    我:對於Restful API的理解,個人僅限於使用層面。DELETE用來刪除,GET用來獲取,POST和PUT不同,POST用來更新,PUT用來建立。
    面試官:你能認識到POST和PUT的不同很好,但,剛好說反了,POST可以建立,PUT可以更新。
    補:所以惡補了一下:

Restful

同時,藉助這個題目,對於人的決策也產生了一定的思考,如果將使用這種行為類比成訓練,而通過它獲得的經驗可以類比成模型,而通過這種模型可以指導我們進行決策。在我個人使用Restful的介面中,比如ES學習的時候,有這個需求,我就是通過POST進行相同資料不同ID的資料的更新的,也就是非冪等的更新,不屬於常用資源的已知更新,所以這種使用訓練在我腦海中生成了一個模型,這個模型在被呼叫,也就相當於有新資料集進來時,指導我的決策就成了POST可以更新,而還有一個模型是POST和PUT使用上要注意,它們不同,所以兩者一結合,指導我的決策是POST用來更新,PUT用來建立。而這道題目本身訓練出來的模型給我指導的決策是模型的正確性是由訓練方式的正確性決定的,而訓練方式的正確性又包括邏輯上的正確,以及多樣性的保證不能以偏概全;同時訓練方式的正確性很大一部分又取決於原始資料集的正確性;牽一髮而動全身,不容疏忽!

大資料工程師(ETL)面試

  1. 你覺得Spark和Hadoop的區別是什麼,請簡要說一說?
    我:Hadoop適合離線分析,是批處理;Spark適合實時分析,是近實時流,微批處理。

  2. 你覺得Python和Java在使用起來,有什麼區別?
    我:其實自己在平時使用的時候,並沒有過度割裂開這兩種,因為畢竟自己是結果導向所以無論Python的縮排格式還是Java的要加逗號,最後可以實現我的需求就可以了。
    補:如今,再來審視這個問題,會發現其實在使用過程中,Python,Java確實有一些需要你拐個彎注意下的,比如【Python】list的remove函式和【Java】list的remove方法,同名異能。以及Python一些輪子如何用Java去實現也是要注意的。

  3. 給你兩張表,表A和表B,其中表A有3條資料,表B有5條資料,問:表A left join 表B後有幾條?
    我:小於等於A表條數,也就是小於等於3條
    補:現在看來,當時陷入了工作中帶來的一個誤區,就是面試官可沒說join的欄位是主鍵,它可以不唯一哈,不唯一就會導致大於3條,因為有重複,而B表記錄不足的地方均為NULL,所以可能小於嗎?不信客官你看:
    例1:
    A表的記錄數在B表中全都有且B表id唯一

A表資料

B表資料

A left join B

例2
A表的記錄在C表中有缺失但C表記錄唯一:

A表資料

C表資料

A left join C

例3
A表的記錄在D表中全都有但D表id不唯一:

A表資料

D表資料

A left join D

所以正解應該是大於等於A表的條數

大資料工程師(開發)面試

  1. 你覺得大資料處理技術分為幾類?
    我:大致分為3類,Hadoop為代表的批處理;Impala,Hbase為代表的基於歷史資料的互動式處理;Storm,Spark,Flink為代表的流式處理。

  2. Linux系統命令你熟悉的有哪些?
    我:cat,tree…etc

  3. 說說你眼裡的資料開發究竟是一種什麼樣的崗位?
    我:當時剛好看完ETL和Storm系列的視訊,所以就學習的這兩系列視訊對資料開發這個職能的概念說了淺薄的見解:①ETL,利用ELK或者其他ETL棧進行資料的抽取,轉換,清洗至入倉。②以Storm為例,bolt邏輯的實現以及topology的排程也算是一種資料開發吧。
    補:
    ①以下是百度百科對資料開發的註解,個人感覺更偏向於大資料時代來臨前的傳統意義上的資料開發,當然這種傳統也是我們當下必備的基礎:
    資料開發百度百科

②[大資料工程師技能圖譜]

大資料技能圖譜

  1. 說一說Hadoop框架的角色有哪些?
    我:那我就說說Hadoop2.0+的吧:NameNode,DataNode,JournalNode,Yarn框架的:ResourceManager,NodeManager,DFSZKfailovercontroller.

  2. 假定一個應用場景,我們有一個客戶,本來我們協商好資料模型是基於四個欄位建立的,但以後可能由於其他原因會有新的欄位增入怎麼辦?
    我:HBase,NoSQL列式資料庫,當新欄位增入時沒有關係型的煩惱。
    面試官:想到NoSQL這點很好,我們採取的方案是Elasticsearch + Hive(數倉)。

靈活的資料模型
NoSQL無需事先為要儲存的資料建立欄位,隨時可以儲存自定義的資料格式。而在關係資料庫裡,增刪欄位是一件非常麻煩的事情。如果是非常大資料量的表,增加欄位簡直就是一個噩夢。這點在大資料量的web2.0時代尤其明顯。

大資料工程師(開發)面試

MapReduce

  1. 不指定語言,寫一個WordCount的MapReduce
    我:最近剛學了scala,並且就有scala版本的WordCount,剛好學以致用了一下:

wordcount

補:至於java版本,蝦皮博主的一篇文章講解的非常細緻:
Hadoop叢集(第6期)_WordCount執行詳解

  1. 上述寫的程式中.map((,1))的輸出結果是什麼
    我:通過flatMap將其扁平化,而.map((
    ,1)) 則是每個出現單詞,1這樣的形式展現,此時還沒歸併。

  2. 你能用SQL語句實現上述的MapReduce嗎?要求按照基於某個欄位的值的頻次倒序,並且以維度——頻次的形式結果展現?
    我:基於某個欄位——決定了要用group By,頻次要用count聚合,倒序自然少不了desc。
    補:框架搭好就是往裡塞了:

D表資料

基於id維度頻次倒序

4.給你一份亂序的100萬個數字的檔案,你如何來排序?
我:先拆分成若干小的,然後再排(思路是從希爾排序出發的)
補:內部排序演算法:希爾排序

Spark

  1. 說一說Spark程式編寫的一般步驟?
    我:初始化,資源,資料來源,並行化,rdd轉化,action運算元列印輸出結果或者也可以存至相應的資料儲存介質
    補:具體的可看下圖:

spark程式設計模型

  1. Spark有哪兩種運算元?
    我:Transformation(轉化)運算元和Action(執行)運算元。

  2. Spark提交你的jar包時所用的命令是什麼?
    我:submit。
    面試官:spark-submit?
    我:嗯,spark-submit。

  3. Spark有哪些聚合類的運算元,我們應該儘量避免什麼型別的運算元?
    我:aggeragate
    面試官:還有呢?
    我:記不清了。。。
    面試官:還有你剛剛寫的那個groupByKey哈
    補:

在我們的開發過程中,能避免則儘可能避免使用reduceByKey、join、distinct、repartition等會進行shuffle的運算元,儘量使用map類的非shuffle運算元。這樣的話,沒有shuffle操作或者僅有較少shuffle操作的Spark作業,可以大大減少效能開銷。

  1. 你所理解的Spark的shuffle過程?
    我:spark shuffle處於一個寬依賴,可以實現類似混洗的功能,將相同的Key分發至同一個Reducer上進行處理。
    補:詳細探究Spark的shuffle實現

  2. 你如何從Kafka中獲取資料?
    我:topic
    補:分散式訊息系統:Kafka

  3. 對於Spark中的資料傾斜問題你有什麼好的方案?
    我:可以先分析基數大造成資料傾斜的維度,將其適當的拆分。
    補:Spark效能優化指南:高階篇

程式設計
1.如果我有兩個list,如何用Python語言取出這兩個list中相同的元素?
我:list(set(list1).intersection(set(list2))),通過set 的intersection取交集的函式實現相同元素的提取。

** 2.請你給出在Python中較快獲取一個元素的資料結構,並且說出其時間複雜度以及它的缺陷是什麼?**
我:因為之前也在做一些leetcode上的題目,多多少少重溫了下資料結構,當時腦海裡呈現的是陣列方便查詢,佇列和棧方便插入刪除,所以一聽到較快獲取果斷陣列了。
面試官:dict(字典)
我:厲害!!
面試官:那它的時間複雜度你曉得嘛?
我:不是特別瞭解,O(1),常數時間複雜度?
面試官:嗯,那你知道它的缺陷嗎?
我:(中午吃撐了,TradeOff哈)不曉得
面試官:空間複雜度較高哈
補:
反思了一下,之所以說錯,可能和以前學習演算法時,起承轉合的過度,並未將棧、佇列和map,或者dict直接比較,而是從陣列切換到佇列和棧,所以就和之前的那個PUT和POST差不多,訓練邏輯正確,確實陣列查詢記錄方便,但訓練廣度有些多樣性不夠。

陣列

演算法備忘錄——基礎資料結構與複雜度
常用資料結構和演算法操作效率的對比總結

  1. 做幾道OJ的題目(英文的),說一說這個問題的要求和注意點,以及可以獲得正確結果的你的思路?
    恢復IP地址

Given a string containing only digits, restore it by returning all possible valid IP address combinations.
Example
Given “25525511135”, return
[
“255.255.11.135”,
“255.255.111.35”
]
Order does not matter.

我:思考了一會兒,沒想出來,只能想出個不通用的思路。
面試官:給你個提示,嘗試用樹這個資料結構。
補:此處埋一個坑,學完樹的資料結構再回來解決。

快樂數

Write an algorithm to determine if a number is happy.
A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers.
Example
19 is a happy number
1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1

我:思路是模擬過程法,即按照它驗證一個數是否是快樂數的方式進行模擬,當然也有些取巧的方式,如果某個中間結果曾出現過,妥妥滴死迴圈嘛,即刻跳出。
面試官:思路是對的
我:我覺得這會TLE,肯定有取巧的方法(這道題目之前好像接觸過)
補:回去搜了一下,發現之前一直求助的一個大神的部落格通過模擬過程用Python實現的:
Happy Number (之前的懷疑有更巧方法在於時常保持偷懶的思維也是必要的)

  1. 你常用的IDE有哪些?
    我:Java:Eclipse;Python:PyCharm;Scala:IntelliJ IDEA;Shell:VIM

  2. 你瞭解設計模式嗎?
    我:不瞭解,但以後回去買本O’Really的《設計模式》
    補:封面如下:

設計模式

  1. 什麼是Restful API?
    我:由於對Restful的瞭解只停留在使用層面,給我的感覺像是一種資源的提交獲取,GET獲取,POST/DELETE/PUT都可以看作是一種提交操作
    補:

【專業定義】:一種軟體架構風格,設計風格而不是標準,只是提供了一組設計原則和約束條件。它主要用於客戶端和伺服器互動類的軟體。基於這個風格設計的軟體可以更簡潔,更有層次,更易於實現快取等機制。

RESTful百度百科

Options

Devops

  1. 資料庫讀寫分離的目的是什麼?
    我:①減輕負載;②許可權控制
    補:讀寫分離的作用
    看了上面的文章,減輕負載是首要目的,至於許可權控制,更像是一種實現方式,不像目的。

  2. ZooKeeper是什麼?非大資料領域,我們可以用ZooKeeper來做些什麼?
    我:ZooKeeper是分散式協調元件,非大資料領域,可以用ZooKeeper來做HA或者儲存資料,比如配置資訊啥的。(Znode)
    補:ZooKeeper 典型應用場景一覽

大資料工程師(開發)面試

1.談一談你之前是如何圍繞Kylin框架進行工作的?
我:其實在我的理解中,Kylin它首先是一個OLAP分析引擎,它是如此的輕量、因非侵入式又是如此的友好,所以更願意將之前的工作定義為是拿Kylin這個神器去為現有的框架新增OLAP的功能,而不是去圍著它轉。

Apache Kylin™是一個開源的分散式分析引擎,提供Hadoop之上的SQL查詢介面及多維分析(OLAP)能力以支援超大規模資料,最初由eBay Inc. 開發並貢獻至開源社群。它能在亞秒內查詢巨大的Hive表。

Kylin

2.Hive建立HBase的外表需不需要依賴Kylin?
我:不需要,Hive自己即可實現。

3.談一談你所瞭解的Hive優化方式?
我:partition(對Hive表做分割槽),這樣子查詢指定分割槽就不需全表遍歷了;limit,查我所需。
補:Hive效能優化

  1. Storm,Spark,Flink這些流式處理框架,它們各自的應用場景分別是什麼?
    我:Storm是純實時流,如果你對效能就是延遲的要求比較看重的話,可以選擇Storm。而Spark野心太大,微批處理,可能不如Storm這個垂直領域的實時流。
    補:現在想來,當時說的太過於籠統了,給面試官一種感性思維的印象,就是認為我覺得因為Storm是垂直領域的所以就一定比生態圈龐大的Spark來的好,確實所以惡補了一下。

SparkStreaming VS Storm

Storm 和 SparkStreaming區別
從上圖以及以上博文不難總結出Spark Streaming和Storm各自的應用場景:
Storm:由於其優於SparkStreaming的事務機制,所以適用於金融領域;而又因其為實時流,所以延遲比SparkStreaming低,所以如果對低延遲要求較高的場景,也是首選哈,但是Storm對於複雜邏輯的實現是不如Spark的。

Spark Streaming:雖然Spark Streaming的延遲不如Storm,但是秒級延遲大多數的生產場景也能容忍,更何況這個TradeOff換來的可是大的吞吐量哦,所以對於那些可以容忍秒級延遲且對大吞吐量有要求的場景可以適用,Spark對複雜邏輯的實現支援較好。

值得一提的是,哪個產品適用哪個應用場景,只能相對談一談了,談起海量資料的Oracle和MySQL選型,前者Oracle從者想必不會少,但是如果MySQL到了阿里的手中呢?那海量資料的問題也就不是海量的問題,MySQL的問題也不是MySQL的問題,而當初在Devops全球敏捷運維峰會上,談到阿里選擇MySQL的一個很大原因是其社群龐大,同樣,Spark的社群也是相當龐大的哦

Spark與Flink:對比與分析
至於Flink,個人實操的比較少,所以就從上面的博文,可以大致瞭解到兩者適用的生產場景:
Spark:有些不在贅述,總結如下:吞吐量大、社群大、SQL支援好、秒級延遲。
Flink:期望與Hadoop相容性好,毫秒級低延遲,更優的計算方式。

1.請你自我介紹一下
回答提示:一般人回答這個問題過於平常,只說姓名,年齡,愛好,工作經驗,這些在簡歷上都有,其實,企業最希望知道的是求職者能否勝任工作,包括:最強的技能,最深入研究的知識領域,個性中最積極的部分,做過的最成功的事,主要的成就等,這些都可以和學習無關,也可以和學習有關,但要突出積極的個性和做事的能力,說的合情合理企業才會相信,企業很重視一個人的禮貌,求職者要尊重考官,在回答每個問題之後都說一句“謝謝”企業喜歡有禮貌的求職者。
2.你覺得你個性上最大的優點是什麼?
回答提示:沉著冷靜,條理清楚,立場堅定,頑強向上。
樂於助人和關心他人,適應能力和幽默感,樂觀和友愛,我在北大青鳥經過一到兩年的培訓及專案實戰,加上實習工作,是我適合這份工作,我相信我能成功。
3.說說你最大的缺點?
回答提示:這個問題企業問的概率很大,通常不希望聽到直接回答的缺點是什麼等,如果求職者說自己小心眼,愛妒忌人,非常懶,脾氣大,工作效率低,企業肯定不會錄用你。絕對不要自作聰明地回答“我最大的缺點就是過於追求完美”有的人認為這樣回答會顯得自己比較出色,但事實上,他已經岌岌可危了。企業喜歡求職者從自己優點說起,中間加一些小缺點,最後再把問題轉回到優點上,突出優點的部分,企業喜歡聰明的求職者。
4.你對加班的看法?
回答提示:實際上好多公司問這個問題,並不證明一定要加班,只是想測試你是否願意為公司奉獻。
回答樣本:如果是工作需要我會義不容辭加班。我現在單身,沒有任何家庭負擔,可以全身心的投入工作,但同時,我也會提高工作效率,減少不必要的加班
5、你對薪資的要求?
回答提示:如果你對薪酬的要求太低,那顯然是貶低你自己的能力,如果你對薪酬的要求的太高,那有顯得你分量過重,公司受不起,一些僱主通常都事先對求聘的職位定下開支預算,因而他們第一次提出的價錢往往是他們所能給予的最高價錢,他們問你只不過想證實一下這筆錢是否足以引起擬對該工作的興趣。
回答樣本一:我對工資沒有硬性要求,我相信貴公司在處理我的問題上會友善合理。我注重的是找對工作機會,所以只要條件公平,問責不會計較太多
回答樣本二:我受過系統的軟體程式設計的訓練,不需要進行大量的培訓。而且我本人也對程式設計感興趣,因此,我希望公司能根據我的情況和市場標準的水平,給我合理的薪水。
回答樣本三:如果你必須自己說出具體數字,請不要說出一個寬泛的範圍,那樣你將只能得到最低限度的數字,最好給出一個具體的數字,這樣表明你已經對當今的人才市場做了調差,知道像自己這樣的學歷的僱員有什麼樣的價值
6.在5年的時間內,你的職業規劃?
回答提示:這是每一個應聘者都不希望被問到的問題,但是幾乎每個人都會被問到,比較多的答案是“管理者”但是近幾年來,許多公司都已經建立了專門的技術途徑,這些工作地位往往被稱為“顧問”參議技師或高階軟體工程師等等,當然,說出一些你感興趣的職位也是可以的,比如產品銷售部經理,生產部經理,等一些與你的專業有相關背景的工作,要知道,考官總是喜歡有上進心的應聘者,此時如果說:“不知道”或許就會使你喪失一個好機會,最普通的回答應該是“我準備在技術領域有所作為或我希望能按照公司的管理思路發展”
7.你朋友對你的評價?
回答提示:想從側面瞭解一下你的性格及與人相處的問題。
回答樣本:我的朋友都說我是一個可以信賴的人,因為,我一旦答應別人的事情,就一定要做到,如果我做不到,我就不會輕易許諾。
回答樣本:我覺得我是一個比較隨和的人,與不同的人都可以友好相處,在我與人相處時,我總是能站在別人的角度考慮問題‘’
8.你還有什麼問題嗎?
回答提示:企業的這個問題看上去可有可無,其實很關鍵,企業不喜歡說:沒有問題。因為其很注重員工的個性和創新能力。企業不喜歡求職者問個人福利之類的問題,如果有人這樣問:貴公司對新入公司的員工有沒有什麼培訓專案 ,我可以參加嗎?或者說貴公司的晉升機制是什麼樣的?企業將很歡迎,因為 體現出你對學習的熱情和對公司的忠誠度以及你的上進心。
9.如果通過這次面試我們單位錄用了你,但工作一段時間卻發現你根本不適合這個職位,你怎麼辦?
回答提示:一段時間發現工作不適合我,有兩種情況:
1.如果你確實熱愛這個職業,那你就要不斷學習,虛心向領導和同事學習業務知識百合廚師經驗,瞭解你這個職業的精神內涵和職業要求,力爭減少差距;
2,你覺得這個職業可有可無,那還是趁早換個職業,去發現適合你的,你熱愛的職業。那樣你的發展前途也會大點,對單位和個人都有好處。
10.在完成某項工作時,你認為領導要求的方式不是最好的,自己還有更好的方法,你應該怎麼做?
回答提示:1原則上我會尊重和服從領導的工作安排;同時私底下找機會以請教的口吻,婉轉的表達自己的想法,看看ing到是否能改變想法:
2.如果領導沒有采納我的建議,我也同樣會按領導的要求認真地完成這項工作;
3.還有一種情況,假如領導要求的方式違背原則,我會堅決提出反對意見,如領導仍固執己見,我會毫不猶豫地在上級領導反映。
11.如果你的工作出現失誤,給本公司造成經濟損失,我認為首要的問題是想法設法去彌補或挽回經濟損失,如果我無為能力,希望單位幫助解決;
2.是責任問題。分清責任,各負其責,如果是我的責任,我甘願受罰,如果是一個我負責的團隊中別人的失誤,也不能幸災樂禍。作為一個團隊,需要互相提攜共同完成工作。安慰同事的深度和力度是否不夠,以至於出現了本可以避免的錯誤。
12.如果你在這次考試中沒有被錄用,你怎麼打算?
回答提示:現在的社會是一個競爭的社會,從這次面試中也可看出這一點,有競爭就必然有優劣,有成功就會有失敗,往往陳宮的背後有許多的困難和挫折,如果這次失敗了也僅僅是一次而已,只有經過經驗經歷的積累才能塑造出一個完全的成功者,我會從以下幾個方面來正確看待這次失敗
第一,要勇於面對,面對這次失敗不氣餒,接受已經失去了機會就不會回頭的這個現實,從心理意志和精神上體現出對這次失敗的抵抗力,要有自信,相信自己經歷了這次之後經過努力一定能行,能超越自我。
第二:善於反思,,對於這次面試經驗要認真總結,思考剖析,能夠從自身的角度找差距,正確對待自己,實事求是 地評價自己,辯證的看待自己的長短得失,做一個明白人。
第三。走出陰影,要克服這一次失敗帶給自己的心理壓力,時刻牢記自己弱點,防患於未然,加強學習,提高自身素質。
第四:認真工作,回到原單位崗位上後,要實實在在,踏踏實實地工作,三十六行,行行出狀元,爭取在本崗位上做出一定的成績。
第五:再接再厲,成為軟體工程師或網路工程師一直是我的夢想,以後如果有機會我仍然會再次競爭
13.如果你做的一項工作受到上級領導的表揚,但主管領導卻說是他做的,你該怎麼樣?
回答提示:我首先不會找到那位上級領導說明這件事,我會主動領導認識到自己的錯誤,我想我會視具體情況決定是否原諒他2,他更加變本加厲的來威脅我,那我會毫不猶豫地找我的上級領導反映此事,因為他這樣做會造成負面影響,對今後的工作不利。
14.談談你對跳槽的看法?
回答提示:(1)正常的“跳槽”能促進人才合理,應該支援;
(2)頻繁的跳槽對單位和個人雙方都不利,應該反對。
15.工作中你難以和同事,上司相處,你該怎麼辦?
回答提示:我會服從領導的指揮,配合同事的工作
2,我會自身找原因,仔細分析是不是自己工作做的不好讓領導不滿意,同事看不慣,還要看看是不是為人處世方面做得不好,如果是這樣的話我會努力改正
3,如果我找不到原因,我會找機會跟他們溝通,請他們指出我的不足,有問題就及時改正
4,作為優秀的員工,應該時刻以大局為重,即使在一段時間內,領導和同事對我不理解,我也會做好本職工作,虛心向他們學習,我相信,他們會看見我在努力,總有一天會對我微笑的。
16.假設你在某單位工作,成績比較突出,得到領導的肯定,但同時你發現同事們越來越孤立你時,你怎麼看這個問題?你準備怎麼辦?
回答提示:
成績突出,得到領導的肯定是件好事,以後更加努力
2.檢討一下自己是不是對工作的人新都超過同事間交往的熱心了,加強同事間的交往及共同的興趣愛好。
3.工作中,切勿傷害別人的自尊心
4.不再領導前擺弄是非
5,樂於助人
17.你最近是否參加了培訓課程?談談培訓課程的內容。是公司資助還是自費參加?
回答提示:是自費參加,就是北大青鳥參加的培訓課程(可以多談談自己學的技術)
18.你對於我們公司瞭解多少?
回答提示:再去公司面試前上網查一下該公司主營業務。如回答:貴公司有意改變策略,加強與國外大廠的OEM合作,自有品牌的部分則透過海外家經銷商。
19.請說出你選擇這分工作的動機?
回答提示:還是想知道面試者對這份工作的熱忱及理解度,並篩選因一時興起而來應試的人,如果是無經驗者,可以強調:就算職種不同,也希望有機會發揮之前的經驗。
20.你最擅長的技術方向是什麼?
回答提示:說和你要應聘的職位相關的課程,表現一下自己的熱誠沒有什麼壞處
21.你能為我們公司帶來什麼呢?
假如你可以的話,試著告訴他們你可以減低他們的費用,我已經接受過北大青鳥近兩年專業的培訓,立刻就可以上崗工作。
2.企業很想知道未來的員工能為企業做什麼。求職者應再次重複自己的優勢,然後說:就我的能力,我可以做出一個優秀員工在組織中發揮能力,給組織帶來高效和更多的收益,企業喜歡求職者就申請的職位表明自己的能力,比如申請營銷之類的職位們可以說,“我可以開發大量的新客戶,同時,對老客戶做更全面的周到的服務,開發老客戶的新需求和消費”
22.最能概括你自己的三個詞是什麼?
回答提示:我靜會從哪個用的三個詞語是:適應能力強,有責任心,和做事有始有終,結合具體例子向主考官解釋
23.你的業餘愛好是什麼?
回答提示:找一些富於團隊合作精神的,這裡you一個真實的故事,有人被否定掉,因為他的愛好是深海潛水,主考官說,因為這是意向單人活動,我不敢肯定她能否適應團體合作。
24.作為被面試者給我打一下分
回答提示:說一下非常非常小的缺點
25.你怎麼理解你應聘的職位?
回答提示:把崗位職責和任務及工作態度闡述一下
26.喜歡這份工作的哪一點?
回答提示:相信其實大家心中一定有答案了吧!每個人的價值觀不同,自然評斷的標準也不同。但是,在回答面試官這個問題時可不能太直接就把自己心裡的話說出來,尤其是薪資方面的問題,不過有一些無傷大雅的回答是不錯的考慮,不過如果這是自己能仔細思考出這份工作的與眾不同,相信在面試上會大大加分。
27.為什麼會離職?
回答:這個問題這個問題時一定要小心,就算在前一個工作收到再大的委屈,尤其要避免對公司本身主管的批評,避免面試官的負面情緒及印象;建議此時最好的回答方式是將問題歸咎在自己身上,例如覺得工作沒有學習發展的空間,自己想在面試工作的相關產業中多加學習,或是前一份工作與自己的生涯規劃不合等等,回答的答案最好是積極正面的。
②我希望能獲得一份更好的工作,如果機會來臨,我會抓住;我覺得目前的工作,已經達到頂峰,即沒有升遷機會。
28. 說說你對行業、技術發展趨勢的看法?
回答提示:企業對這個問題很感興趣,只有有備而來的求職者能夠過關。求職者可以直接在網上查詢對你所申請的行業部門的資訊,只有深入瞭解才能產生獨特的見解。企業認為最聰明的求職者是對所面試的公司預先了解很多,包括公司各個部門,發展情況,在面試回答問題的時候可以提到所瞭解的情況,企業歡迎進入企業的人是“知己”,而不是“盲人”。
29. 對工作的期望與目標何在?
回答提示:這是面試者用來評斷求職者是否對自己有一定程度的期望、對這份工作是否瞭解的問題。對於工作有確實學習目標的人通常學習較快,對於新工作自然較容易進入狀況,這時建議你,最好針對工作的性質找出一個確實的答案,如業務員的工作可以這樣回答:“我的目標是能成為一個超級業務員,將公司的產品廣泛的推銷出去,達到最好的業績成效;為了達到這個目標,我一定會努力學習,而我相信以我認真負責的態度,一定可以達到這個目標。”其他類的工作也可以比照這個方式來回答,只要在目標方面稍微修改一下就可以了。
30. 說說你的家庭。
回答提示:企業面試時詢問家庭問題不是非要知道求職者家庭的情況,探究隱私,企業不喜歡探究個人隱私,而是要了解家庭背景對求職者的塑造和影響。企業希望聽到的重點也在於家庭對求職者的積極影響。企業最喜歡聽到的是:我很愛我的家庭!我的家庭一向很和睦,雖然我的父親和母親都是普通人,但是從小,我就看到我父親起早貪黑,每天工作特別勤勞,他的行動無形中培養了我認真負責的態度和勤勞的精神。我母親為人善良,對人熱情,特別樂於助人,所以在單位人緣很好,她的一言一行也一直在教導我做人的道理。企業相信,和睦的家庭關係對一個人的成長有潛移默化的影響。Jane197回覆4 樓 2013-02-28
31. 就你申請的這個職位,你認為你還欠缺什麼?
回答提示:企業喜歡問求職者弱點,但精明的求職者一般不直接回答。他們希望看到這樣的求職者:繼續重複自己的優勢,然後說:“對於這個職位和我的能力來說,我相信自己是可以勝任的,只是缺乏經驗,這個問題我想我可以進入公司以後以最短的時間來解決,我的學習能力很強,我相信可以很快融入公司的企業文化,進入工作狀態。”企業喜歡能夠巧妙地躲過難題的求職者。
32. 你欣賞哪種性格的人?
回答提示:誠實、不死板而且容易相處的人、有”實際行動”的人。
33. 你通常如何處理別人的批評?
回答提示:①沈默是金。不必說什麼,否則情況更糟,不過我會接受建設性的批評;②我會等大家冷靜下來再討論。
34. 你怎樣對待自己的失敗?
回答提示:我們大家生來都不是十全十美的,我相信我有第二個機會改正我的錯誤。
35. 什麼會讓你有成就感?
回答提示:為貴公司竭力效勞;盡我所能,完成一個專案
36. 眼下你生活中最重要的是什麼?
回答提示:對我來說,能在這個領域找到工作是最重要的;望能在貴公司任職對我說最重要。
37. 你為什麼願意到我們公司來工作?
回答提示:對於這個問題,你要格外小心,如果你已經對該單位作了研究,你可以回答一些詳細的原因,像“公司本身的高技術開發環境很吸引我。”,“我同公司出生在同樣的時代,我希望能夠進入一家與我共同成長的公司。”“你們公司一直都穩定發展,在近幾年來在市場上很有競爭力。”或者“我認為貴公司能夠給我提供一個與眾不同的發展道路。”這都顯示出你已經做了一些調查,也說明你對自己的未來有了較為具體的遠景規劃。
38. 你和別人發生過爭執嗎?你是怎樣解決的?
回答提示:這是面試中最險惡的問題。其實是考官佈下的一個陷阱。千萬不要說任何人的過錯。應知成功解決矛盾是一個協作團體中成員所必備的能力。假如你工作在一個服務行業,這個問題簡直成了最重要的一個環節。你是否能獲得這份工作,將取決於這個問題的回答。考官希望看到你是成熟且樂於奉獻的。他們通過這個問題了解你的成熟度和處世能力。在沒有外界干涉的情況下,通過妥協的方式來解決才是正確答案。
39. 問題:你做過的哪件事最令自己感到驕傲?
回答提示:這是考官給你的一個機會,讓你展示自己把握命運的能力。這會體現你潛在的領導能力以及你被提升的可能性。假如你應聘於一個服務性質的單位,你很可能會被邀請去午餐。記住:你的前途取決於你的知識、你的社交能力和綜合表現。
40. 你新到一個部門,一天一個客戶來找你解決問題,你努力想讓他滿意,可是始終達不到群眾得滿意,他投訴你們部門工作效率低,你這個時候怎麼作?
回答提示:(1)首先,我會保持冷靜。作為一名工作人員,在工作中遇到各種各樣的問題是正常的,關鍵是如何認識它,積極應對,妥善處理。 (2)其次,我會反思一下客戶不滿意的原因。一是看是否是自己在解決問題上的確有考慮的不周到的地方,二是看是否是客戶不太瞭解相關的服務規定而提出超出規定的要求,三是看是否是客戶瞭解相關的規定,但是提出的要求不合理。 (3)再次,根據原因採取相對的對策。如果是自己確有不周到的地方,按照服務規定作出合理的安排,並向客戶作出解釋;如果是客戶不太瞭解政策規定而造成的誤解,我會向他作出進一步的解釋,消除他的誤會;如果是客戶提出的要求不符合政策規定,我會明確地向他指出。 (4)再次,我會把整個事情的處理情況向領導作出說明,希望得到他的理解和支援。(5)我不會因為客戶投訴了我而喪失工作的熱情和積極性,而會一如既往地牢記為客戶服務的宗旨,爭取早日做一名領導信任、公司放心、客戶滿意的職員。
41. 對這項工作,你有哪些可預見的困難?”
回答提示::①不宜直接說出具體的困難,否則可能令對方懷疑應聘者不行;②可以嘗試迂迴戰術,說出應聘者對困難所持有的態度——“工作中出現一些困難是正常的,也是難免的,但是隻要有堅忍不拔的毅力、良好的合作精神以及事前周密而充分的準備,任何困難都是可以克服。”
分析:一般問這個問題,面試者的希望就比較大了,因為已經在談工作細節。但常規思路中的回答,又被面試官“騙”了。當面試官詢問這個問題的時候,有兩個目的。第一,看看應聘者是不是在行,說出的困難是不是在這個職位中一般都不可避免的問題。第二,是想看一下應聘者解決困難的手法對不對,及公司能否提供這樣的資源。而不是想了解應聘者對困難的態度。
42. 如果我錄用你,你將怎樣開展工作?”
回答提示: ①如果應聘者對於應聘的職位缺乏足夠的瞭解,最好不要直接說出自己開展工作的具體辦法;②可以嘗試採用迂迴戰術來回答,如“首先聽取領導的指示和要求,然後就有關情況進行了解和熟悉,接下來制定一份近期的工作計劃並報領導批准,最後根據計劃開展工作。”
分析:這個問題的主要目的也是瞭解應聘者的工作能力和計劃性、條理性,而且重點想要知道細節。如果向思路中所講的迂迴戰術,面試官會認為迴避問題,如果引導了幾次仍然是迴避的話。此人絕對不會錄用了。
43. “你希望與什麼樣的上級共事?”
回答提示:①通過應聘者對上級的“希望”可以判斷出應聘者對自我要求的意識,這既上一個陷阱,又是一次機會;②最好迴避對上級具體的希望,多談對自己的要求;③如“做為剛步入社會的新人,我應該多要求自己儘快熟悉環境、適應環境,而不應該對環境提出什麼要求,只要能發揮我的專長就可以了
分析:這個問題比較好的回答是,希望我的上級能夠在工作中對我多指導,對我工作中的錯誤能夠立即指出。總之,從上級指導這個方面談,不會有大的紕漏。
44. 在完成某項工作時,你認為領導要求的方式不是最好的,自己還有更好的方法,你應該怎麼做?
回答提示:
①.原則上我會尊重和服從領導的工作安排;同時私底下找機會以請教的口吻,婉轉地表達自己的想法,看看領導是否能改變想法;
②如果領導沒有采納我的建議,我也同樣會按領導的要求認真地去完成這項工作;
③.還有一種情況,假如領導要求的方式違背原則,我會堅決提出反對意見;如領導仍固執己見,我會毫不猶豫地再向上級領導反映。
45. 與上級意見不一是,你將怎麼辦?”
回答提示:①一般可以這樣回答“我會給上級以必要的解釋和提醒,在這種情況下,我會服從上級的意見。”②如果面試你的是總經理,而你所應聘的職位另有一位經理,且這位經理當時不在場,可以這樣回答:“對於非原則性問題,我會服從上級的意見,對於涉及公司利益的重大問題,我希望能向更高層領導反映。”
分析:這個問題的標準答案是思路1,如果用2的回答,必死無疑。你沒有摸清楚改公司的內部情況,先想打小報告,這樣的人沒有人敢要。
46. “你工作經驗欠缺,如何能勝任這項工作?”
常規思路:①如果招聘單位對應屆畢業生的應聘者提出這個問題,說明招聘公司並不真正在乎“經驗”,關鍵看應聘者怎樣回答;②對這個問題的回答最好要體現出應聘者的誠懇、機智、果敢及敬業;③如“作為應屆畢業生,在工作經驗方面的確會有所欠缺,因此在讀書期間我一直利用各種機會在這個行業裡做兼職。我也發現,實際工作遠比書本知識豐富、複雜。但我有較強的責任心、適應能力和學習能力,而且比較勤奮,所以在兼職中均能圓滿完成各項工作,從中獲取的經驗也令我受益非淺。請貴公司放心,學校所學及兼職的工作經驗使我一定能勝任這個職位。” 點評:這個問題思路中的答案尚可。突出自己的吃苦能力和適應性以及學習能力(不是學習成績)為好。
47. 您在前一家公司的離職原因是什麼?”
回答提示:①最重要的是:應聘者要使找招聘單位相信,應聘者在過往的單位的“離職原因”在此家招聘單位裡不存在;②避免把“離職原因”說得太詳細、太具體;③不能摻雜主觀的負面感受,如“太辛苦”、“人際關係複雜”、“管理太混亂”、“公司不重視人才”、“公司排斥我們某某的員工”等;④但也不能躲閃、迴避,如“想換換環境”、“個人原因”等;⑤不能涉及自己負面的人格特徵,如不誠實、懶惰、缺乏責任感、不隨和等;⑥儘量使解釋的理由為應聘者個人形象添彩;⑦相關例子:如“我離職是因為這家公司倒閉;我在公司工作了三年多,有較深的感情;從去年始,由於市場形勢突變,公司的局面急轉直下;到眼下這一步我覺得很遺憾,但還要面對顯示,重新尋找能發揮我能力的舞臺。”同一個面試問題並非只有一個答案,而同一個答案並不是在任何面試場合都有效,關鍵在應聘者掌握了規律後,對面試的具體情況進行把握,有意識地揣摩面試官提出問題的心理背景,然後投其所好。
分析:除非是薪資太低,或者是最初的工作,否則不要用薪資作為理由。“求發展”也被考官聽得太多,離職理由要根據每個人的真實離職理由來設計,但是在回答時一定要表現得真誠。實在想不出來的時候,家在外地可以說是因為家中有事,須請假幾個月,公司又不可能准假,所以辭職。這個答案一般面試官還能接受。
48. “你工作經驗欠缺,如何能勝任這項工作?”
回答提示:①如果招聘單位對應屆畢業生的應聘者提出這個問題,說明招聘公司並不真正在乎“經驗”,關鍵看應聘者怎樣回答;②對這個問題的回答最好要體現出應聘者的誠懇、機智、果敢及敬業;③如“作為應屆畢業生,在工作經驗方面的確會有所欠缺,因此在讀書期間我一直利用各種機會在這個行業裡做兼職。我也發現,實際工作遠比書本知識豐富、複雜。但我有較強的責任心、適應能力和學習能力,而且比較勤奮,所以在兼職中均能圓滿完成各項工作,從中獲取的經驗也令我受益非淺。請貴公司放心,學校所學及兼職的工作經驗使我一定能勝任這個職位。”
分析:這個問題思路中的答案尚可。突出自己的吃苦能力和適應性以及學習能力(不是學習成績)為好。
49. 為了做好你工作份外之事,你該怎樣獲得他人的支援和幫助?
回答提示:每個公司都在不斷變化發展的過程中;你當然希望你的員工也是這樣。你希望得到那些希望並歡迎變化的人,因為這些人明白,為了公司的發展,變化是公司日常生活中重要組成部分。這樣的員工往往很容易適應公司的變化,並會對變化做出積極的響應。此外,他們遇到矛盾和問題時,也能泰然處之。下面的問題能夠考核應聘者這方面的能力。
據說有人能從容避免正面衝突。請講一下你在這方面的經驗和技巧。
有些時候,我們得和我們不喜歡的人在一起共事。說說你曾經克服了性格方面的衝突而取得預期工作效果的經歷。
50. 如果你在這次面試中沒有被錄用,你怎麼打算?
回答提示:現在的社會是一個競爭的社會,從這次面試中也可看出這一點,有競爭就必然有優劣,有成功必定就會有失敗.往往成功的背後有許多的困難和挫折,如果這次失敗了也僅僅是一次而已,只有經過經驗經歷的積累才能塑造出一個完全的成功者。我會從以下幾個方面來正確看待這次失敗.
第一、要敢於面對,面對這次失敗不氣餒,接受已經失去了這次機會就不會回頭這個現實,從心理意志和精神上體現出對這次失敗的抵抗力。要有自信,相信自己經歷了這次之後經過努力一定能行.能夠超越自我.
第二、善於反思,對於這次面試經驗要認真總結,思考剖析,能夠從自身的角度找差距。正確對待自己,實事求是地評價自己,辯證的看待自己的長短得失,做一個明白人.
第三、走出陰影,要克服這一次失敗帶給自己的心理壓力,時刻牢記自己弱點,防患於未然,加強學習,提高自身素質.
第四、認真工作,回到原單位崗位上後,要實實在在、踏踏實實地工作,三十六行,行行出狀元,爭取在本崗位上做出一定的成績.
第五、再接再厲,成為國家公務員一直是我的夢想,以後如果有機會我仍然後再次參加競爭.
51. 假如你晚上要去送一個出國的同學去機場,可單位臨時有事非你辦不可,你怎麼辦?
回答提示:我覺得工作是第一位的,但朋友間的情誼也是不能偏廢的。這個問題我覺得要按照當時具體的情況來決定。
(1)、如果我的朋友晚上9點中的飛機,而我的 加班八點就能夠完成的話,那就最理想了,幹完工作去機場,皆大歡喜。
(2)、如果說工作不是很緊急,加班僅僅是為了明天上班的時候能把報告交到辦公室,那完全可以跟領導打聲招呼,先去機場然後回來加班,晚點睡就是了。
(3)、如果工作很緊急,兩者不可能兼顧的情況下,我覺得可以由兩種選擇。1)如果不是全單位都加班的話,是不是可以要其他同事來代替以下工作,自己去機場,哪怕就是代替你離開的那一會兒。2)如果連這一點都做不到的話,
那隻好忠義不能兩全了,打電話給朋友解釋一下,小心他會理解,畢竟工作做完了就完了,朋友還是可以再見面的。
52. 如果通過這次面試我們單位錄用了你,但工作一段時間卻發現你根本不適合這個職位,你怎麼辦?
回答提示:一段時間發現工作不適合我,有兩種情況:
1、如果你確實熱愛這個職業,那你就要不斷學習,虛心向領導和同事學習業務知識和處事經驗,瞭解這個職業的精神內涵和職業要求,力爭減少差距;
2、你覺得這個職業可有可無,那還是趁早換個職業,去發現適合你的,你熱愛的職業,那樣你的發展前途也會大點,對單位和個人都有好處。
53. 你做過的哪件事最令自己感到驕傲?
回答提示:這是考官給你的一個機會,讓你展示自己把握命運的能力。這會體現你潛在的領導能力以及你被提升的可能性。假如你應聘於一個服務性質的單位,你很可能會被邀請去午餐。記住:你的前途取決於你的知識、你的社交能力和綜合表現。
54. 談談你過去做過的成功案例
回答提示:舉一個你最有把握的例子,把來龍去脈說清楚,而不要說了很多卻沒有重點。切忌誇大其詞,把別人的功勞到說成自己的,很多主管為了確保要用的人是最適合的,會打電話向你的前一個主管徵詢對你的看法及意見,所以如果說謊,是很容易穿梆的。
55. 談談你過去的工作經驗中,最令你挫折的事情/
回答提示:曾經接觸過一個客戶,原本就有耳聞他們以挑剔出名,所以事前的準備功夫做得十分充分,也投入了相當多的時間與精力,最後客戶雖然並沒有照單全收,但是接受的程度已經出乎我們意料之外了。原以為從此可以合作愉快,卻得知客戶最後因為預算關係選擇了另一家代理商,之前的努力因而付諸流水。儘管如此,我還是從這次的經驗學到很多,如對該產業的瞭解,整個team的默契也更好了。
分析:藉此瞭解你對挫折的容忍度及調解方式。
56. 如何安排自己的時間?會不會排斥加班?
回答提示:基本上,如果上班工作有效率,工作量合理的話,應該不太需要加班。可是我也知道