V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
everydiao
V2EX  ›  程序员

前辈们我碰到两个问题毫无头绪话说明天就要交了我慌啊!

  •  1
     
  •   everydiao · 2019-12-26 18:54:45 +08:00 · 4161 次点击
    这是一个创建于 1827 天前的主题,其中的信息可能已经有所发展或是发生改变。

    第一道题 用 springboot 调用 elasticsearch 的原生 api 实现索引文档的增删改查 第二道题 实现 map 的扁平化

    今天的复试题,面试官出了这两道题要求我明天下午四点之前实现出来,可是我对这两道题毫无头绪,里面涉及的技术点我大多都只是听过并没有怎么使用过[捂脸]所以我想求助各位前辈😭

    第 1 条附言  ·  2019-12-26 19:39:08 +08:00
    感谢大家!尽人事知天命,通过这次面试我懂了很多,认识到了自己的很多的不足,虽然我很想去这家公司,但是我也不会明知不可为而为那也是给我找罪受,我会仔细审题琢磨到底要考的知识点,尽可能的把我会的都写上去,无愧于心,说实话今天一整天都像热锅上的蚂蚁一样,总是害怕自己做不出来怎么怎么办,很少认真的去想到底应该怎样,我的出发点错了,现在想起来很惭愧,放平心态把这次当场一次学习的机会就可以了,最后再次感谢各位前辈!
    25 条回复    2019-12-27 15:31:01 +08:00
    kop1989
        1
    kop1989  
       2019-12-26 18:56:57 +08:00 via iPhone
    map 的扁平化是不是就是遍历 map 的所有 value...
    feigle
        2
    feigle  
       2019-12-26 18:59:38 +08:00
    不好意思,我就是那个面试官,你看着办吧
    floraX
        3
    floraX  
       2019-12-26 19:00:36 +08:00
    不好意思,我就是那个面试官,你看着办吧
    binnerchen
        4
    binnerchen  
       2019-12-26 19:01:02 +08:00
    google
    JohnDoeChou
        5
    JohnDoeChou  
       2019-12-26 19:01:03 +08:00
    不好意思,我就是那个面试官,你看着办吧
    luckyrayyy
        6
    luckyrayyy  
       2019-12-26 19:01:31 +08:00
    springboot 和 elk 都一点没用过吗?没有的话换下一家吧。
    hebin
        7
    hebin  
       2019-12-26 19:01:32 +08:00
    第一道题就是说你要提供几个接口能够对于 es 进行增删该查,所以你首先应该去看文档 了解如何使用 Java 操作 es,然后了解 Spring mvc 怎么提供 API。

    什么是 map 的扁平化?
    feigle
        8
    feigle  
       2019-12-26 19:03:09 +08:00
    @hebin 扁平化,就是压扁,压平;所以力气要大,速度要均匀。
    everydiao
        9
    everydiao  
    OP
       2019-12-26 19:03:50 +08:00 via Android
    @luckyrayyy 之前用的 springmvc
    akmissxt
        10
    akmissxt  
       2019-12-26 19:09:18 +08:00 via Android
    做题前要了解出题者的意图。面试官要的不是答案啊。
    Allianzcortex
        11
    Allianzcortex  
       2019-12-26 19:10:53 +08:00 via iPhone
    map 的扁平化就是 flatten map
    everydiao
        12
    everydiao  
    OP
       2019-12-26 19:12:36 +08:00 via Android
    @hebin 谢谢前辈!第二题给了我一个具体要求

    ### 算法题:
    要求:Map 扁平化

    #### 示例
    ```json
    {
    "portInfo":{
    "protocol":"http",
    "port":80,
    "deviceInfo":{
    "deviceLocation":{
    "zhCountry":"中国",
    "zhCity":"北京"
    },
    "deviceCategory":"RSS",
    "deviceType":"Router"
    }
    }
    }
    ```
    最终要求实现 3 个函数
    1.flat
    >> 返回:
    ```json
    {
    "portInfo.protocol":"http",
    "portInfo.port":80,
    "portInfo.deviceInfo.deviceLocation.zhCountry":"中国",
    "portInfo.deviceInfo.deviceLocation.zhCity":"北京",
    "portInfo.deviceInfo.deviceCategory":"RSS",
    "portInfo.deviceInfo.deviceType":"Router"
    }
    ```
    2.flatPut
    3.flatGet
    everydiao
        13
    everydiao  
    OP
       2019-12-26 19:15:42 +08:00 via Android
    @akmissxt 我没有接触过这些,所以没有什么太好的思路,看不懂他在考察什么,今天查了一天的资料勉强用 springboot 实现了第一题的功能,但是面试官说要调用 es 的原生 api 而不是 springboot 封装的 api
    Allianzcortex
        14
    Allianzcortex  
       2019-12-26 19:22:05 +08:00   ❤️ 1
    第二道题的 flatten *** 是一类题目(e.g. https://leetcode.com/problems/flatten-nested-list-iterator/),迭代递归判定每一个 key 对应的 value instanceof 是 string 还是 map。
    tonytonychopper
        15
    tonytonychopper  
       2019-12-26 19:23:44 +08:00
    我知道的「扁平化」是「降维」操作,跑一下递归就行了,不知道跟你这个是不是一样的。
    f1ren2es
        16
    f1ren2es  
       2019-12-26 19:24:35 +08:00
    flatten map 随便 google 一下不就有了,慌啥,遇到笔试做 OJ 才是真绝望
    everydiao
        17
    everydiao  
    OP
       2019-12-26 19:29:44 +08:00
    @Allianzcortex 谢谢您有点思路了
    yincrow
        18
    yincrow  
       2019-12-26 19:37:22 +08:00
    elk 可以直接 http 请求 RESTFUL 接口,简单啊
    werty
        19
    werty  
       2019-12-26 19:58:42 +08:00
    第一题我理解面试官是想给做成一个动态代理模式的玩意, 而不是一个接口一个接口的去写, 毕竟 ES 的接口还是挺多的
    everydiao
        20
    everydiao  
    OP
       2019-12-26 20:02:52 +08:00
    @werty 我也不太清楚,面试官说实现索引文档的增删改查就行
    Justin13
        21
    Justin13  
       2019-12-26 20:39:14 +08:00 via Android
    扁平化还不简单,递归遍历撸一遍就出来了。
    nxtxiaolong
        22
    nxtxiaolong  
       2019-12-26 21:03:01 +08:00
    这行不适合你,找找其他出路吧
    rizon
        23
    rizon  
       2019-12-26 21:41:01 +08:00
    cccy0
        24
    cccy0  
       2019-12-27 10:50:50 +08:00
    调用 es 接口直接发 http 请求就可以了啊, 可以看下 es 官方的 rest low level client 源码, 里面没多少东西
    everydiao
        25
    everydiao  
    OP
       2019-12-27 15:31:01 +08:00 via Android
    @rizon 感谢前辈😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5604 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:29 · PVG 11:29 · LAX 19:29 · JFK 22:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.