參考資料
- 非常推薦【轉】華爲性格測試怎麼過
- 推薦華爲-性格測試攻略
題目
- 題目總共有五十多道
- 每個題目給三個選項,讓你選擇哪個行爲最符合你,哪個行爲最不符合你
- 選項包括但不止於以下這些
- 我覺得人們信守承諾相當重要
- 我堅持按時完成任務
- 我做事廣泛聽取別人的意見
- 做事前我會徵詢大家的意見
- 我願意花時間去幫助他人
- 我做事不喜歡半途而廢
- 我必須瞭解底層原理才能更有效地學習
- 我傾向於根據客觀事實做決定
- 我必須找到解決問題的辦法
- 我需要了解論點背後的邏輯
- 我喜歡創新
- 做事時我喜歡有新方法,新點子
- 我能想出很多主意
- 我喜歡提出很多主意
- 我喜歡提出獨到的見解
過程
- 我第一次性格測試沒通過,說是什麼偏差值之類的
- 後面考官給了我第二次面試機會
- 第二次在網上搜了一下做題攻略,然後再進行回答
- 自己還小小寫了點代碼,對題目進行排序
思路
- 引用第一篇參考資料中一個精彩的評論
1.前後一致很重要,但是也不能想太多,第一次就是一直想前面選過什麼,導致後面越選越偏,有些覺得不對的,可以及時調整。
2.可以先想好一種人設,做的時候帶入這個虛擬的性格就行了,比如你想象這麼一種人,服從領導,能夠按部就班按時完成工作,能夠死命幹活,沒有太多性格(比如有野心,好勝,想當領導,堅持己見,堅持自己做事方式,別人有錯當面硬剛這些類似的性格),喜歡做統計數據類分析,做一些抽象得討論(工科男),樂於幫助別人,沒什麼心機(揣摩別人的想法啊,瞭解別人的動機之類的),對自己的成就能夠如實的表達,不卑不亢,遇事不緊張(這個感覺很重要),樂觀,積極,輕鬆。大概就是這麼一種人。
代碼
- 主要就是根據關鍵字,篩選出哪些選項和對應的優先級
- 使用
- 輸入三個關鍵字
- 可以找到對應關鍵字的最優/最壞/適中選項
- 不一定可以找到對應的選項,還是需要加上自己的判斷
import com.google.common.collect.Sets;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class HuaWeiOd {
public static void main(String[] args) {
init1();
init2();
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()){
String keyWord1 = scanner.next();
String keyWord2 = scanner.next();
String keyWord3 = scanner.next();
handle(keyWord1, keyWord2, keyWord3);
}
}
private static void handle(String ...keyWords) {
init1H(keyWords);
init2H(keyWords);
}
private static void init2H(String... strs) {
HashSet<Object> ll1 = Sets.newHashSet();
HashSet<Object> ll2 = Sets.newHashSet();
HashSet<Object> ll3 = Sets.newHashSet();
HashSet<Object> ll4 = Sets.newHashSet();
HashSet<Object> ll5 = Sets.newHashSet();
m1(keyWordLevel1, ll1, strs);
m1(keyWordLevel2, ll2, strs);
m1(keyWordLevel3, ll3, strs);
m1(keyWordLevel4, ll4, strs);
m1(keyWordLevel5, ll5, strs);
System.out.println();
System.out.println("技術員工喜歡的tag是守信,抗壓,團隊合作,不突出,不愛辯論。這些無腦選強烈同意");
System.out.println(String.format("%s : %s", "強烈同意", ll1.toString()));
System.out.println(String.format("%s : %s", "基本同意", ll2.toString()));
System.out.println(String.format("%s : %s", "中立", ll3.toString()));
System.out.println(String.format("%s : %s", "基本不同意", ll4.toString()));
System.out.println(String.format("%s : %s", "強烈不同意", ll5.toString()));
}
private static void init1H(String... keyWords) {
HashSet<Object> l1 = Sets.newHashSet();
HashSet<Object> l2 = Sets.newHashSet();
HashSet<Object> l3 = Sets.newHashSet();
m1(best, l1, keyWords);
m1(justSoSo, l2, keyWords);
m1(bad, l3, keyWords);
System.out.println();
System.out.println("喜歡加班-喫苦耐勞 中庸-不要表現自己的特性 穩定 團隊合作很重要 性格不能過激");
System.out.printf("%s : %s%n", "最合適", l1.toString());
System.out.printf("%s : %s%n", "適中的", l2.toString());
System.out.printf("%s : %s%n", "不合適的", l3.toString());
}
static HashSet<String> keyWordLevel1;
static HashSet<String> keyWordLevel2;
static HashSet<String> keyWordLevel3;
static HashSet<String> keyWordLevel4;
static HashSet<String> keyWordLevel5;
private static void init2() {
keyWordLevel1 = Sets.newHashSet("成功", "守時", "守信", "自信", "章程", "創新", "客觀", "抗壓", "實踐", "堅持", "有效", "學習", "幹勁", "保密", "聽取", "適應", "改正", "事情主次");
keyWordLevel2 = Sets.newHashSet("利益", "書面", "解釋", "反饋", "原理", "邏輯", "數字", "鼓勵", "解決", "聽取", "滿足", "人際", "好奇", "計劃", "好印象", "重要決策", "解釋", "傾聽", "樂觀", "信任", "未來", "交際", "獨到意見", "激勵他人");
keyWordLevel3 = Sets.newHashSet("認識生人", "掌控", "低風險", "多線程", "重大決策", "解決爭端", "新朋友");
keyWordLevel4 = Sets.newHashSet("商業", "談判", "協調", "演講", "領導", "槓精", "完美主意", "愛說話", "高速決策", "言論動機", "認識陌生人");
keyWordLevel5 = Sets.newHashSet("焦慮", "爭辯", "焦點", "激進", "推銷", "雄心");
}
static Set<String> best;
static Set<String> justSoSo;
static Set<String> bad;
private static void init1() {
best = Sets.newHashSet("我信守自己作出的承諾",
"我覺得人們信守承諾相當重要",
"我堅持按時完成任務",
"我做事廣泛聽取別人的意見",
"做事前我會徵詢大家的意見",
"我願意花時間去幫助他人",
"我做事不喜歡半途而廢",
"我必須瞭解底層原理才能更有效地學習",
"我傾向於根據客觀事實做決定",
"我必須找到解決問題的辦法",
"我需要了解論點背後的邏輯",
"我喜歡創新",
"做事時我喜歡有新方法,新點子",
"我能想出很多主意",
"我喜歡提出很多主意",
"我喜歡提出獨到的見解");
justSoSo = Sets.newHashSet(
"我善於和別人建立融洽關係",
"我喜歡有壓力的環境下工作",
"我喜歡忙碌的生活",
"我需要有明確的遠景計劃",
"我喜歡思考未來",
"我給自己設定了長遠目標",
"我經常展望未來",
"我對未來比較樂觀",
"我相信未來的事情會是好的",
"我做事很有遠見",
"做事的時候我需要有章可循",
"我做事井井有條",
"我非常注重細節",
"我善於同事處理多項任務",
"我循規蹈矩地去做事情",
"我喜歡對數據進行統計與分析",
"我喜歡討論抽象性的問題",
"我善於處理數字資料",
"我不容易被別人激怒",
"我信任他人",
"我在與陌生朋友交流時會輕鬆自在",
"我大部分時間是快樂的",
"我有強烈的好奇心",
"我喜歡有競爭的工作",
"我是一個競爭心很強的人"
);
bad = Sets.newHashSet("我掌控着自己的未來",
"我在重大事情發生前會緊張",
"我想有人陪在我身邊",
"我堅持自己的做事方式",
"我善於結交朋友",
"我喜歡結識陌生人",
"我善於談判",
"我善於推銷",
"我是個很健談的人",
"我關注別人的做事目的與做事動機",
"我善於理解人們背後的動機",
"我善於體會他人的感受",
"我要超越別人",
"我有較大的野心",
"我想成爲團隊中的領導",
"我更願意領導別人",
"我喜歡挑戰別人的想法",
"我享受獨自工作");
}
private static void m1(Set<String> sets, HashSet<Object> l1, String... array) {
for (String s : sets){
for (String p : array){
if (s.contains(p)){
l1.add(s);
}
}
}
}
}