面试相关

月伴飞鱼 2024-06-23 15:20:26
成长相关
支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!

简历模版:https://www.polebrief.com/

面试考察点

考察点:技能、能力、价值观、匹配度。

技能:

  • Java基础,开源框架,中间件,代码设计,项目实战等。

能力:

  • 工作年限和职级越高,对能力的要求越大,对技能的要求反而没那么大。

  • 学习能力:

    • 具备快速学习的能力,能够迅速掌握并应用新的知识。
  • 沟通能力:

    • 能够清晰、准确地表达自己的想法和观点,并理解他人的意见和观点,以进行有效的沟通和交流。

价值观:

  • 是否与公司的价值观一致?
  • 是否具备以公司事务为己任的Owner意识?

匹配度:

  • 面试官的目的是找到适合职位要求的候选人。
    • 这里所说的是适合的人选,而不是最好的人选。
    • 这不仅考虑到用人成本,还考虑到员工的职业发展和工作质量。
  • 许多面试官不会选择经验和技能过剩的应聘者,而是选择经验和技能匹配,甚至稍微差一些,但是具备潜力和动机的应聘者。
  • 这样的人选会更加珍惜这个机会,对工作充满兴趣,更有动力去接受挑战,主动学习并将工作做好。

面试表达技巧

金字塔法则:

  • 先把我们最重要的优势先提出来,然后按照时间顺序从近到远讲解自己的工作经历。
  • 用实际做的事来印证我们的优势。

STAR法则:

  • STAR法则是一种在面试中有效回答问题的方法。
  • 包括以下几个步骤:
    • Situation(情境):描述你所面临的具体情境或挑战。
    • Task(任务):解释你在该情境下的任务或目标。
    • Action(行动):详细说明你采取的具体行动步骤。
    • Result(结果):阐述你的行动带来的具体结果和成就。
  • 使用STAR法则可以帮助你在面试中清晰、有条理地回答问题,展示自己的能力和经验。
  • 我们讲解做过的项目的时候非常适合使用STAR法则。
    • 先介绍我们项目的业务背景技术背景,再说明当前要做一个什么事。
    • 然后说明具体的技术方案以及如何落地。
    • 最后说明我们这个项目取得了什么结果。

学会倾听:

  • 面试官问一个问题,一定不要抢答。
  • 面试官就是你的未来同事,可以把面试官当成你的工作搭档去沟通,方便去做双向筛选。

海量数据场景题

假如有一个1G大小的文件,文件里每一行是一个词,每个词的大小不超过16byte,要求返回出现频率最高的100个词。

  • 内存大小限制是10M

由于内存限制,无法直接将大文件的所有词一次性读到内存中。

可以采用分治策略,把一个大文件分解成多个小文件,保证每个文件的大小小于10M。

  • 进而直接将单个小文件读取到内存中进行处理。

第一步

首先遍历大文件,对遍历到的每个词x,执行 hash(x) % 500

将结果为i的词存放到文件f(i)中,遍历结束后,可以得到500个小文件,每个小文件的大小为2M左右。

第二步

接着统计每个小文件中出现频数最高的100个词,可以使用HashMap来实现,其中key为词,value为该词出现的频率。

  • 对于遍历到的词x,如果在map中不存在,则执行 map.put(x, 1)。

  • 若存在,则执行 map.put(x, map.get(x)+1),将该词出现的次数加1。

第三步

在第二步中找出了每个文件出现频率最高的100个词之后,通过维护一个小顶堆来找出所有小文件中出现频率最高的100个词。

  • 遍历第一个文件,把第一个文件中出现频率最高的100个词构建成一个小顶堆。

  • 如果第一个文件中词的个数小于100,可以继续遍历第二个文件,直到构建好有100个结点的小顶堆为止。

  • 继续遍历其他小文件,如果遍历到的词的出现次数大于堆顶上词的出现次数。

    • 可以用新遍历到的词替换堆顶的词,然后重新调整这个堆为小顶堆。
  • 当遍历完所有小文件后,这个小顶堆中的词就是出现频率最高的100个词。

主要思路如下:

  • 采用分治的思想,进行哈希取余。

  • 使用HashMap统计每个小文件单词出现的次数。

  • 使用小顶堆,遍历步骤2中的小文件,找出词频Top100的单词。

找出相同的URL

给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,找出a、b文件共同的url

分治法+哈希取模:

将a、b 两个文件,用相同的哈希函数(把url换成数字的话,哈希函数更容易构造),分解为1000个独立哈希值相同的小文件。

哈希值相同的url必然在序号对应的文件中,因此只要在序号对应的两个文件中进行url的相互匹配即可。

比较每对序号对应的小文件时,可以使用hash_set

在这里插入图片描述
支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!