华为od-性格测试

参考资料

题目

  • 题目总共有五十多道
  • 每个题目给三个选项,让你选择哪个行为最符合你,哪个行为最不符合你
  • 选项包括但不止于以下这些
    • 我觉得人们信守承诺相当重要
    • 我坚持按时完成任务
    • 我做事广泛听取别人的意见
    • 做事前我会征询大家的意见
    • 我愿意花时间去帮助他人
    • 我做事不喜欢半途而废
    • 我必须了解底层原理才能更有效地学习
    • 我倾向于根据客观事实做决定
    • 我必须找到解决问题的办法
    • 我需要了解论点背后的逻辑
    • 我喜欢创新
    • 做事时我喜欢有新方法,新点子
    • 我能想出很多主意
    • 我喜欢提出很多主意
    • 我喜欢提出独到的见解

过程

  • 我第一次性格测试没通过,说是什么偏差值之类的
  • 后面考官给了我第二次面试机会
  • 第二次在网上搜了一下做题攻略,然后再进行回答
  • 自己还小小写了点代码,对题目进行排序

思路

  • 引用第一篇参考资料中一个精彩的评论

    1.前后一致很重要,但是也不能想太多,第一次就是一直想前面选过什么,导致后面越选越偏,有些觉得不对的,可以及时调整。
    2.可以先想好一种人设,做的时候带入这个虚拟的性格就行了,比如你想象这么一种人,服从领导,能够按部就班按时完成工作,能够死命干活,没有太多性格(比如有野心,好胜,想当领导,坚持己见,坚持自己做事方式,别人有错当面硬刚这些类似的性格),喜欢做统计数据类分析,做一些抽象得讨论(工科男),乐于帮助别人,没什么心机(揣摩别人的想法啊,了解别人的动机之类的),对自己的成就能够如实的表达,不卑不亢,遇事不紧张(这个感觉很重要),乐观,积极,轻松。大概就是这么一种人。

代码

  • 主要就是根据关键字,筛选出哪些选项和对应的优先级
  • 使用
    • 输入三个关键字
    • 可以找到对应关键字的最优/最坏/适中选项
    • 不一定可以找到对应的选项,还是需要加上自己的判断
    • image
    • image
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);
                }
            }
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章