Android:
今日頭條屏幕適配的原理勋篓?
1:首先計(jì)算出 density唬党,計(jì)算公式:當(dāng)前設(shè)備屏幕總寬度(單位為像素)/ 設(shè)計(jì)圖總寬度(單位為 dp) = densitydensity 的意思就是 1 dp 占當(dāng)前設(shè)備多少像素計(jì)算density 的原因:在布局文件中填寫的是什么單位贸营,最后都會被轉(zhuǎn)化為 px西乖,系統(tǒng)就是通過上面的方法对人,將你在項(xiàng)目中任何地方填寫的單位都轉(zhuǎn)換為 px
但是,今日頭條適配方案默認(rèn)項(xiàng)目中只能以高或?qū)捴械囊粋€作為基準(zhǔn)澄惊,來進(jìn)行適配
簡述Android中的加固和使用平臺?
加固:防止代碼反編譯,提高代碼安全性
加固三方平臺,梆梆安全,360加固,愛加密等
區(qū)別:梆梆安全,360加固看不到項(xiàng)目中的類,愛加密看的到Java類,單看不到里面的方法實(shí)現(xiàn)體,效果比前面差一點(diǎn)點(diǎn)
加固的底層原理:第三方加固的應(yīng)用會生成一個Apk,然后把你的APK讀取出來,在封裝到這個第三方應(yīng)用的APK里面.
如何對APK瘦身?
1)使用混淆,
2)開啟shrinkResourse(shrink-收縮),會將沒有用到的圖片變成一個像素點(diǎn)
3)刪除無用的語言資源(刪除國際化文件)
4)對于非透明的大圖,使用JPG(沒有透明度信息),代替PNG格式
5)使用tinypng進(jìn)行圖片壓縮
6)使用webp圖片格式,進(jìn)一步壓縮圖片資源
7)使用第三方包時把用到的代碼加到項(xiàng)目中來,避免引用整一個第三方庫
簡述多渠道打包及原理和常用操作?
針對每一個渠道(應(yīng)用市場)都生成一個帶有渠道標(biāo)識的apk文件
原理:用戶下載啟動應(yīng)用,獲取渠道標(biāo)識,和設(shè)備的唯一標(biāo)識,并上傳到服務(wù)器里面,服務(wù)器這里就 會根據(jù)獲取的記錄,根據(jù)渠道號然后判斷是否存在該服務(wù)器的表里面.(打標(biāo)記,取標(biāo)記,上傳標(biāo)記)
1)友盟多渠道打包:在清單文件中定義一個占位符,在gradle腳本中替換占位符(會使用到Python)
2)美團(tuán)打包,在meta-data中創(chuàng)建一個空的文件,以文件名標(biāo)識渠道,做一個解壓與壓縮的操作,速度會比較快
3)新一代多渠道打包,將渠道標(biāo)識添加到.apk文件的末尾,并不會對源文件損壞
Android下的數(shù)據(jù)存儲方式有那些?
1)內(nèi)部存儲,直接存儲在內(nèi)部文件中
2)外部存儲,首先要判斷外部存儲條件是否可用,然后進(jìn)行存儲
3)SP存儲,底層是Xml實(shí)現(xiàn)的,以鍵值對形式存儲內(nèi)部的數(shù)據(jù),適宜于輕量級的存儲,存儲的數(shù)據(jù)類型有,boolean,String,int
4)數(shù)據(jù)庫存儲,SQlite存儲,輕量級的數(shù)據(jù)庫,強(qiáng)大的增刪改查功能
5)內(nèi)容提供者,ContentProvider,將自己愿意暴露的一部分?jǐn)?shù)據(jù)供外部使用操作
6)網(wǎng)絡(luò)存儲,等等
Sharepreference 線程安全問題?
官方文檔明確指出,SharedPreferences不支持多線程掸驱,進(jìn)程也是不安全的
如果想要實(shí)現(xiàn)線程安全需重新實(shí)現(xiàn)其接口肛搬,如下:
假設(shè)在多進(jìn)程訪問SharePreferences的情況下,該如何保證進(jìn)程安全和共享數(shù)據(jù)?
解決辦法就是:將需要共享數(shù)據(jù)的字段提出來統(tǒng)一存儲到一個文件中毕贼。
Android開發(fā)下如何有效進(jìn)行屏幕適配?
1:機(jī)型適配温赔,去一些統(tǒng)計(jì)網(wǎng)站諸如友盟,現(xiàn)在叫友盟+去看一下市場上最流行的Android機(jī)型,有針對性的切圖
2:屏幕適配,適配主流xhdpi屏幕尺寸鬼癣,使用relativelayout陶贼,linerlayout等布局,多使用matchparent待秃,wrapcontent拜秧,及配合weight,權(quán)重處理,
3:還有就是在代碼中章郁,設(shè)計(jì)到具體尺寸的要使用dp2px的轉(zhuǎn)換枉氮,
4:圖片使用可拉伸.9圖片,imageview使用scaletype縮放暖庄;
5:使用權(quán)重,等比例,百分比布局等等
對象序列化:
為什么要序列化嘲恍?
1)永久性保存對象,保存對象的字節(jié)序列到本地文件中雄驹;
2)通過序列化對象在網(wǎng)絡(luò)中傳遞對象佃牛;
3)通過序列化在進(jìn)程間傳遞對象。
在Android中實(shí)現(xiàn)序列化有兩個選擇:一是實(shí)現(xiàn)Serializable接口(是JavaSE本身就支持的)医舆,一是實(shí)現(xiàn)Parcelable接口(是Android特有功能俘侠,效率比實(shí)現(xiàn)Serializable接口高效,可用于Intent數(shù)據(jù)傳遞蔬将,也可以用于進(jìn)程間通信(IPC))爷速。實(shí)現(xiàn)Serializable接口非常簡單,聲明一下就可以了霞怀,而實(shí)現(xiàn)Parcelable接口稍微復(fù)雜一些惫东,但效率更高,推薦用這種方法提高性能毙石。兩種實(shí)現(xiàn)方式依舊是貼url廉沮,方便大家快速查詢
兩種序列化相關(guān)
既然Google推薦Parcelable這種序列化,在這里徐矩,推薦一鍵生成序列化的插件滞时,
在Android Studio里面搜索插件,如下圖滤灯,寫起序列化(根本不用你寫)那就是一個美滋滋吶~
OkHttp相關(guān)?
OkHttp支持同步和異步數(shù)據(jù)請求坪稽,但異步請求是在子線程 (因?yàn)樵鶲kHttp的使用時回調(diào)方法是在子線程進(jìn)行的曼玩,要刷新界面還需要用Handler作處理,可以使用第三方的okhttp-utils,Okgo等等)窒百;
OkHttp里面封裝了線程池黍判、數(shù)據(jù)轉(zhuǎn)換、GZIP壓縮(減少流量的傳輸)篙梢、HTTP協(xié)議緩存等,
OKHttp優(yōu)點(diǎn)---使用GZip壓縮減少傳輸?shù)臄?shù)據(jù)量,緩存(減少重復(fù)請求);
失敗重試(如果你的服務(wù)有多個IP地址,如果第一次連接失敗,OKHttp將使用備用地址)
OKhttp是對http協(xié)議的封裝,比較底層,因此拓展性強(qiáng),便于封裝;
OKhttp基于NIO(JDK1.5,非阻塞式IO)效率更高
ButterKnife相關(guān)?
簡介:
一款快速高效的注入框架顷帖,節(jié)約開發(fā)時間減少代碼量(依靠插件動態(tài)生成View,點(diǎn)擊事件等等)
優(yōu)點(diǎn):
1.強(qiáng)大的View綁定和Click事件處理功能,簡化代碼庭猩,提升開發(fā)效率
2.方便的處理Adapter里的ViewHolder綁定問題
3.運(yùn)行時不會影響APP效率窟她,使用配置方便
4.代碼清晰,可讀性強(qiáng)
使用經(jīng)驗(yàn):
1.Activity ButterKnife.bind(this);必須在setContentView();之后蔼水,且父類bind綁定后震糖,子類不需要再bind
2.Fragment ButterKnife.bind(this, mRootView);
3.屬性布局不能用private or static 修飾,否則會報錯趴腋,(注意權(quán)限)
4.setContentView()不能通過注解實(shí)現(xiàn)吊说。(其他的有些注解框架可以)
原理:利用注解和反射去獲取綁定ViewID,
關(guān)于原理詳情可參考筆者的這一篇:Android-定制專屬ButterKnife框架,該文詳細(xì)介紹了ButterKnife框架并模仿了一個注解綁定View的框架
Rxjava概念,常用操作符及拓展?
簡介:
一款優(yōu)雅的異步框架,代替之前的AsyncTask / Handler / XXX / …
其強(qiáng)大的操作符和鏈?zhǔn)綄懛?線程切換等有助于提高開發(fā)效率和快速定位Bug
與Retrofit搭配使用更是有意想不到的效果,
底層原理:觀察者模式
等一些相應(yīng)的博客
缺點(diǎn):
1:操作符太多會增加學(xué)習(xí)成本時間
2:使用不好优炬,容易導(dǎo)致內(nèi)存泄露(解決方式颁井,推薦Rxlifecycle結(jié)合Rxjava,規(guī)避內(nèi)存泄漏風(fēng)險)
ANR相關(guān)
ANR全名Application Not Responding, 也就是"應(yīng)用無響應(yīng)". 當(dāng)操作在一段時間內(nèi)系統(tǒng)無法處理時, 系統(tǒng)層面會彈出上圖那樣的ANR對話框.
在Android里, App的響應(yīng)能力是由Activity Manager和Window Manager系統(tǒng)服務(wù)來監(jiān)控的. 通常在如下兩種情況下會彈出ANR對話框:
A) 5s內(nèi)無法響應(yīng)用戶輸入事件(例如鍵盤輸入, 觸摸屏幕等).
B) BroadcastReceiver在10s內(nèi)無法結(jié)束.
造成以上兩種情況的首要原因就是在主線程(UI線程)里面做了太多的阻塞耗時操作,, 例如文件讀寫, 數(shù)據(jù)庫讀寫, 網(wǎng)絡(luò)查詢等等.
如何分析ANR?
ANR產(chǎn)生時, 系統(tǒng)會生成一個traces.txt的文件放在/data/anr/下. 開發(fā)人員可通過adb命令將其導(dǎo)出到本地 ($adb pull data/anr/traces.txt .)通過分析,我們可以根據(jù)具體的日志查看Anr原因( 如: 普通阻塞,CPU滿負(fù)荷,內(nèi)存泄露 )
Android中那些場景是執(zhí)行在主線程的?
1)Activity生命周期回調(diào)都是執(zhí)行在主線程的.
2)Service默認(rèn)是執(zhí)行在主線程的.
3)BroadcastReceiver的onReceive回調(diào)是執(zhí)行在主線程的.
4)沒有使用子線程的looper的Handler的handleMessage, post(Runnable)是執(zhí)行在主線程的.
5)AsyncTask的回調(diào)中除了doInBackground, 其他都是執(zhí)行在主線程的.
6)View的post(Runnable)是執(zhí)行在主線程的.等等
三級緩存:
當(dāng)我們第一次打開應(yīng)用獲取圖片或其它資源時蠢护,首先到網(wǎng)絡(luò)去下載雅宾,然后依次存入內(nèi)存緩存,磁盤緩存葵硕,
當(dāng)我們再一次需要用到剛才下載的這張圖片時眉抬,就不需要再重復(fù)的到網(wǎng)絡(luò)上去下載,直接可以從內(nèi)存緩存和磁盤緩存中找懈凹,由于內(nèi)存緩存速度較快蜀变,我們優(yōu)先到內(nèi)存緩存中尋找該圖片,如果找到則運(yùn)用介评,
如果沒有找到(內(nèi)存緩存大小有限)库北,那么我們再到磁盤緩存中去找。
只要我們合理的去協(xié)調(diào)這三層緩存運(yùn)用们陆,便可以提升應(yīng)用性能,給用戶更好的體驗(yàn)
三級緩存指的是:內(nèi)存緩存寒瓦、本地緩存、網(wǎng)絡(luò)緩存棒掠。其各自的特點(diǎn)是內(nèi)存緩存速度快, 優(yōu)先讀取孵构,本地緩存速度其次, 內(nèi)存沒有該資源信息就去讀取本地內(nèi)存,網(wǎng)絡(luò)緩存速度較慢(比較對象是內(nèi)存緩存和本地緩存),假設(shè)本地內(nèi)存也沒有,才請求網(wǎng)絡(luò)獲取烟很。
內(nèi)存泄漏:
當(dāng)應(yīng)用內(nèi)部不再需要某個實(shí)例后颈墅,但是這個對象卻仍然被引用,這個情況就叫做內(nèi)存泄露(Memory Leak)雾袱。安卓虛擬機(jī)為每一個應(yīng)用分配一定的內(nèi)存空間恤筛,當(dāng)內(nèi)存泄露到達(dá)一定的程度就會造成內(nèi)存溢出。
導(dǎo)致內(nèi)存泄露常見原因:
1)靜態(tài)變量直接或者間接地引用了Activity對象就會造成內(nèi)存泄露
2)Activity使用了靜態(tài)的View(View會持有Activity的對象的引用)
3)Activity定義了靜態(tài)View變量???
4)ImageSpan引用了Activity Context
5)單例中引用了Activity的Context(需要使用Application的Context)
6)對于使用了BraodcastReceiver芹橡,ContentObserver毒坛,F(xiàn)ile,Cursor林说,Stream煎殷,Bitmap等資源,應(yīng)該在Activity銷毀時及時關(guān)閉或者注銷腿箩,否則這些資源將不會被回收豪直,從而造成內(nèi)存泄漏。
7)靜態(tài)集合保存的對象沒有及時消除(不使用的時候置為null)
8)在Java中,非靜態(tài)(匿名)內(nèi)部類會引用外部類對象,而靜態(tài)內(nèi)部類不會引用外部類對象
9)在Activity中,創(chuàng)建了非靜態(tài)內(nèi)部類(內(nèi)部類直接或者間接引用了Activity)的靜態(tài)成員變量
10)線程包括AsyncTask的使用,Activity退出后線程還在運(yùn)行(線程在死循環(huán)),并且在線程中使用了Activity或view對象(解決方法:不要直接寫死循環(huán),可以設(shè)置一個布爾類型的TAG,當(dāng)activity推出的時候,設(shè)置TAG為False)
11)Handler對象的使用,Activity退出后Handler還是有消息需要處理(解決方法:在退出activity之后,移除消息)
12)WebView造成的內(nèi)存泄漏(在onDestory中銷毀)
如何進(jìn)行內(nèi)存泄露分析?
A: 通過Android Studio 窗口進(jìn)行分析,查看內(nèi)存分配情況,如果操作應(yīng)用是內(nèi)存一直往上漲說明存在內(nèi)存泄露
B: 定位內(nèi)存泄露分析的工具---MAT(Memory Analyzer tool)
C: 使用開源庫LeakCanary快速定位內(nèi)存泄露
Android中的四大組件相關(guān)?
Activity:
Activity是一個應(yīng)用程序組件珠移,提供一個屏幕(狹義的理解就是當(dāng)前APP的界面)弓乙,用戶可以用來交互為了完成某項(xiàng)任務(wù)。(點(diǎn)擊,登錄,跳轉(zhuǎn)頁面)
Activity中所有操作都與用戶密切相關(guān)钧惧,是一個負(fù)責(zé)與用戶交互的組件暇韧,可以通過setContentView(View)來顯示指定控件(設(shè)置布局文件)。
在一個android應(yīng)用中浓瞪,一個Activity通常就是一個單獨(dú)的屏幕懈玻,它上面可以顯示一些控件也可以監(jiān)聽并處理用戶的事件做出響應(yīng)。
Activity四種啟動模式?
Activity的啟動模式指,可以根據(jù)實(shí)際開發(fā)需求為Activity設(shè)置對應(yīng)的啟動模式乾颁,從而可以避免創(chuàng)建大量重復(fù)的Activity等問題涂乌。
1)standard
standard為Activity的默認(rèn)啟動模式,可以不用寫配置钮孵。在這個模式下骂倘,都會默認(rèn)創(chuàng)建一個新的實(shí)例。因此巴席,在這種模式下历涝,可以有多個相同的實(shí)例,也允許多個相同Activity疊加漾唉。(點(diǎn)back鍵會依照棧順序依次退出)
2)singleTop
singleTop模式下,Activity可以有多個實(shí)例荧库,但是不允許多個相同Activity疊加。即赵刑,如果Activity在棧頂?shù)臅r候分衫,啟動相同的Activity,不會創(chuàng)建新的實(shí)例般此,而會調(diào)用其onNewIntent方法蚪战。
3)singleTask
singleTask表示只有一個實(shí)例牵现。在同一個應(yīng)用程序中啟動他的時候,若Activity不存在邀桑,則會在當(dāng)前task創(chuàng)建一個新的實(shí)例瞎疼,若存在,則會把task中在其之上的其它Activity destory掉并調(diào)用它的onNewIntent方法壁畸。如果是在別的應(yīng)用程序中啟動它贼急,則會新建一個task,并在該task中啟動這個Activity捏萍,singleTask允許別的Activity與其在一個task中共存太抓,也就是說,如果我在這個singleTask的實(shí)例中再打開新的Activity令杈,這個新的Activity還是會在singleTask的實(shí)例的task中走敌。
4)singleInstance
只有一個實(shí)例,并且這個實(shí)例獨(dú)立運(yùn)行在一個task中这揣,這個task只有這個實(shí)例悔常,不允許有別的Activity存在。
BraodcastReceiver:(待補(bǔ)充)
使用了設(shè)計(jì)模式中的觀察者模式:基于消息的發(fā)布/訂閱事件模型给赞。
注冊的方式分為兩種:靜態(tài)注冊机打、動態(tài)注冊
ContentProvider:(待補(bǔ)充)
外界可以通過ContentResolver接口來訪問ContentProvider(內(nèi)容提供者)中的數(shù)據(jù)。Uri 通用資源標(biāo)志符(Universal Resource Identifier)Uri代表要操作的數(shù)據(jù)片迅,Android中可用的每種資源 - 圖像残邀、視頻片段等都可以用Uri來表示。ContentProvider共享數(shù)據(jù)是通過定義一個對外開放的統(tǒng)一的接口來實(shí)現(xiàn)的柑蛇。然而芥挣,應(yīng)用程序并不直接調(diào)用這些方法,而是使用一個 ContentResolver 對象耻台,調(diào)用它的方法作為替代空免。ContentResolver可以與任意內(nèi)容提供者進(jìn)行會話,與其合作來對所有相關(guān)交互通訊進(jìn)行管理盆耽。當(dāng)外部應(yīng)用需要對ContentProvider中的數(shù)據(jù)進(jìn)行添加蹋砚、刪除、修改和查詢操作時摄杂,可以使用ContentResolver類來完成坝咐,要獲取ContentResolver對象,可以使用Context提供的getContentResolver()方法析恢。
IntentService:
IntentService是Service的子類墨坚,比普通的Service增加了額外的功能。IntentService會創(chuàng)建獨(dú)立的worker線程來處理所有的Intent請求映挂;會創(chuàng)建獨(dú)立的worker線程來處理onHandleIntent()方法實(shí)現(xiàn)的代碼泽篮,無需處理多線程的問題盗尸;所有請求處理完成后,IntentService會自動停止咪辱,開發(fā)者無需手動調(diào)用stopSelf()方法停止Service振劳;
簡述System.exit(0) 椎组、onDestory()油狂、Activity.finish()三者的區(qū)別
1)System.exit(0) 是你正常結(jié)束程序,kill 掉當(dāng)前進(jìn)程,針對的是整個Application
2)onDestory()方法是Activity生命周期的最后一步,資源空間等就被回收了寸癌。當(dāng)重新進(jìn)入此Activity的時候专筷,必須重新創(chuàng)建,執(zhí)行onCreate()方法.
3)Activity.finish()當(dāng)你調(diào)用此方法的時候蒸苇,系統(tǒng)只是將最上面的Activity移出了棧磷蛹,并沒有及時的調(diào)用onDestory()方法,也就是占用的資源沒有被及時釋放溪烤。
圖片優(yōu)化味咳,以及圖片加載框架的使用,如Picasso檬嘀、 Fresco槽驶、Glide等?
1)盡量使用小的圖片,對圖片進(jìn)行壓縮鸳兽,bitmapfactory.options圖片配置類掂铐,insimplesize進(jìn)行縮放,設(shè)置圖片的編碼方式揍异;對圖片使用軟引用全陨,內(nèi)存不夠時即時釋圖片內(nèi)存;對圖片的復(fù)用衷掷,三級緩存的使用辱姨;
即時回收不再使用的bitmap對象;
2)Picasso,不支持gif戚嗅,緩存的是Argb8888的原圖雨涛,占用內(nèi)存較大,圖片的框架使用了OkHttp緩存機(jī)制,使用Http協(xié)議緩存,也是異步加載.
3)Fresco,框架是FaceBook公司推出的,適合批量加載圖片,底層是通過三級緩存(2級內(nèi)存,1級磁盤)
加載成功后自動替換成目標(biāo)圖片
4)glide,Google公司14年推出來的,可以加載GIF圖,也可以根據(jù)指定圖片清晰度,底層的原理:為Bitmap維護(hù)一個對象池,對象池的目的是通過減少對象的分配,以重用來提高性能.對象池也可以幫助提高滾動的性能。API簡潔易調(diào)用
Handle相關(guān):
Handler 工作流程基本包括 Handler渡处、Looper镜悉、Message、MessageQueue 四個部分医瘫。但我們在日常開發(fā)中侣肄,經(jīng)常都只會用到 Handler 和 Message 兩個類。Message 負(fù)責(zé)消息的搭載醇份,里面有個target用于標(biāo)記消息稼锅,obj用于存放內(nèi)容吼具,Handler 負(fù)責(zé)消息的分發(fā)和處理。
一般在開發(fā)中是怎么使用 Handler 的矩距?
官方不允許在子線程中更新 UI拗盒,所以我們經(jīng)常會把需要更新 UI 的消息直接發(fā)給處理器 Handler,通過重寫 Handler 的handleMessage()方法進(jìn)行 UI 的相關(guān)操作锥债。
Handle使用中就沒什么需要注意的嗎陡蝇?
有,Handler 如果設(shè)置為私有變量的話哮肚,Android Studio 會報警告登夫,提示可能會造成內(nèi)存泄漏,這種情況可以通過設(shè)置為靜態(tài)內(nèi)部類 + 弱引用允趟,或者在onDestroy()方法中調(diào)用Handler.removeCallbacksAndMessages(null)即可避免
Handler 整體工作流程淺析分為以下四個步驟:
異步通信準(zhǔn)備 => 消息入隊(duì) => 消息循環(huán) => 消息處理
A:異步通信準(zhǔn)備
I:假定是在主線程創(chuàng)建 Handler恼策,則會直接在主線程中創(chuàng)建處理器對象Looper、消息隊(duì)列對象MessageQueue和 Handler 對象潮剪。
需要注意的是涣楷,Looper和MessageQueue均是屬于其創(chuàng)建線程的。
II:Looper對象的創(chuàng)建一般通過Looper.prepareMainLooper()和Looper.prepare()兩個方法抗碰,而創(chuàng)建Looper對象的同時狮斗,將會自動創(chuàng)建MessageQueue。
III:創(chuàng)建好MessageQueue后改含,Looper將自動進(jìn)入消息循環(huán)情龄。此時,Handler自動綁定了主線程的Looper和MessageQueue捍壤。
B:消息入隊(duì)
工作線程通過Handler發(fā)送消息Message到消息隊(duì)列MessageQueue中骤视,消息內(nèi)容一般是 UI 操作。發(fā)送消息一般都是通過Handler.sendMessage(Message msg)和Handler.post(Runnabe r)兩個方法來進(jìn)行的鹃觉。而入隊(duì)一般是通過MessageQueue.enqueueeMessage(Message msg,long when)來處理专酗。
C:消息循環(huán)
主要分為「消息出隊(duì)」和「消息分發(fā)」兩個步驟,Looper會通過循環(huán)取出消息隊(duì)列MessageQueue里面的消息Message盗扇,并分發(fā)到創(chuàng)建該消息的處理者Handler祷肯。如果消息循環(huán)過程中,消息隊(duì)列MessageQueue為空隊(duì)列的話疗隶,則線程阻塞佑笋。
D:消息處理
Handler接收到Looper發(fā)來的消息,開始進(jìn)行處理斑鼻。
拓展
先簡單介紹下你自己蒋纬?
分析:除了向面試官做簡單的基本自我介紹之外,還需向面試官展現(xiàn)自身對該職業(yè)所必須具備的一些自身特質(zhì),
比如蜀备,面試程序員職業(yè)需要間接的向面試官表示自己思維嚴(yán)謹(jǐn)关摇,對細(xì)節(jié)的處理,理性思維碾阁,假設(shè)論證等等输虱;面試產(chǎn)品等職業(yè),需要向面試官通過自己的一些故事間接展現(xiàn)對產(chǎn)品的看法以及獨(dú)特的思維個性等等
切入點(diǎn):自身特質(zhì)能否符合該職位的預(yù)期需求
自己的興趣愛好特長有那些脂凶?
在企業(yè)和面試官看來宪睹,如果求職者的愛好和應(yīng)聘的崗位在某些方面恰恰有正向關(guān)聯(lián),就會有興趣艰猬。面試官也會通過應(yīng)聘者的興趣愛好來判斷其價值觀是否與企業(yè)文化契合横堡,能否很好地融入工作團(tuán)隊(duì)。求職者的回答將有可能為面試加分冠桃。
下列興趣愛好所反映出的一些性格和職業(yè)方向可供參考:
1.籃球,足球道宅,排球:團(tuán)隊(duì)精神食听,適用大多數(shù)崗位。
2.圍棋污茵,國際象棋:戰(zhàn)略意識樱报,適合市場類或高端職位。
3.閱讀泞当,古典音樂:高雅迹蛤,適合文職類的職位。
4.旅游:適應(yīng)不同環(huán)境的能力襟士,快速學(xué)習(xí)的能力盗飒,適合銷售業(yè)務(wù)類職位。
5.舞蹈:外向陋桂,易溝通逆趣,適合公關(guān)、市場類的職位嗜历。
對自己的期望和規(guī)劃宣渗?
分析:職業(yè)發(fā)展規(guī)劃表面上看是在考察你(求職者)、職位梨州、公司三者之間長期的契合程度痕囱,但實(shí)際上,這么大的一個問題完全不是三眼兩語間能夠表達(dá)清楚的暴匠。面試官(無論HR還是專業(yè)部門的)主要是看你回答問題時的思路是否清晰鞍恢,回答中表現(xiàn)出的工作態(tài)度如何,順便看看你是否對公司和職位有足夠的了解。所以不管答案如何有序,最關(guān)鍵的就是不能茫然抹腿。
切入點(diǎn):依舊自身特點(diǎn),對未來期望和規(guī)劃需表述清晰旭寿,思維敏捷
談?wù)勛约旱膬?yōu)點(diǎn)和缺點(diǎn)警绩?
先談缺點(diǎn):
技術(shù)行業(yè)面試基本是由該崗位未來同事和上司進(jìn)行。這種面試技術(shù)性強(qiáng)盅称,行為問題主要考察就是你是否真心想做這個工作(而不是當(dāng)跳板或者聽說高薪體面而來)和你性格與文化是否相符肩祥。所有答案都應(yīng)該圍繞這兩點(diǎn)組織(即每個經(jīng)歷都應(yīng)回歸到你通過這個經(jīng)歷學(xué)到什么,該職位所需關(guān)鍵技巧缩膝,這些經(jīng)歷為何讓你想做這個工作混狠,和該經(jīng)歷體現(xiàn)出你什么樣的個人風(fēng)格)。對這個問題因?yàn)楹玫幕卮鸲粝潞糜∠蠛茈y疾层,
關(guān)鍵是避免留下壞印象将饺。
要點(diǎn)以下:
1)避免避重就輕,不要談一個算不得缺點(diǎn)的缺點(diǎn)痛黎。比如熬夜會困予弧,或者(待人接物)太客氣等等。
2)避免談非職業(yè)缺點(diǎn)湖饱,比如有感情潔癖掖蛤,挑食,不擅長陪女友逛街井厌,做飯經(jīng)常不懂會煮糊蚓庭。
3)避免談到無法改善的弱點(diǎn),比如我算數(shù)必須用計(jì)算器仅仆,我腦子不好用看書不理解器赞。
4)避免談到致命弱點(diǎn),比如脾氣怪異,不喜歡合作,遲到早退等蝇恶。
那談什么最好呢拳魁?我認(rèn)為要點(diǎn)有三:
1)談已經(jīng)在改正的缺點(diǎn)/有明確計(jì)劃來改正的缺點(diǎn)。尤其是你能夠充分論證在近期就可以解決的缺點(diǎn)撮弧。
2)談一個利用你的優(yōu)點(diǎn)改正的缺點(diǎn)潘懊,順便帶出一個優(yōu)點(diǎn)。(這是較高效的溝通技巧)
相對較好的回答:
1)喜歡追求細(xì)節(jié)導(dǎo)致項(xiàng)目/作業(yè)未能按期完成贿衍。通過時間管理能力改變工作方式授舟,先完成框架再改善細(xì)節(jié)得以解決;
2)不知如何拒絕贸辈,同事要求幫忙一概攬下释树,影響自身工作進(jìn)度。通過多任務(wù)處理能力設(shè)定優(yōu)先順序,以該優(yōu)先順序表向求助同事展示自己手上工作奢啥,并給其一個自己在何時可以給予幫助的時間估計(jì)秸仙,讓求助人自行決定是否求助,問題解決
3)對處理同一問題的解決辦法上桩盲,由于組員自己的技術(shù)偏好和技術(shù)構(gòu)成不一樣容易造成溝通障礙及影響項(xiàng)目計(jì)劃寂纪,所以,應(yīng)學(xué)會高效和有效溝通方式及工作技巧