快手音视频C++一面凉经

面试官人不错,就是问得比较抽象。无手撕,计网数据库操作系统啥都没有,项目也没怎么问,逮着c++一通问。。

也是这场面试,让我彻底决定转java了。

  • c++的内存分配
  • malloc分配的是物理内存还是虚拟内存
  • malloc和mmap有什么区别
  • 引用和指针的区别
  • deque的底层实现
  • lock_guard的底层实现
  • 介绍下智能指针
  • 介绍下菱形继承
  • 虚函数表存放在内存的哪个位置,虚函数指针呢
  • 给一段代码,看看哪里有内存上的问题
  • 智力题:8个硬币,有一个硬币是假币(不知轻重)怎么用最小的次数称出这个假币

重点是之后的反问,感觉这个面试官实在是实诚得可怕。。面试官blabla一大堆,我就只记得他说做业务没有用C++的,C++只有做音视频和客户端会用的了。。

全部评论
说实话Java更难,C艹起码还有面试机会
1 回复 分享
发布于 04-02 21:16 吉林
c++用的多其实比操作系统好回答多了
1 回复 分享
发布于 04-02 20:32 湖北
java八股更多啊
点赞 回复 分享
发布于 04-16 07:59 日本
转了没
点赞 回复 分享
发布于 03-31 02:20 陕西
感觉挺基础的
点赞 回复 分享
发布于 03-30 19:13 黑龙江

相关推荐

今天老师结合辅导经验,分享一些丰富项目经历的方法,供各位同学参考学习。✅关于怎么找项目这个问题,其实来源可以是很多的,比如数据竞赛: Kaggle 、百度 AlStudio 、阿里天池等✅Github 高 Star 项目✅项目辅导:在辅导中老师会带各位同学接触实际大厂的高级别项目,能够满足技术栈和大厂契合,有应用场景,有可以发布论文的创新点或者能解决业务问题的整体Pipeline,并且有明确的优化思路(比如版本迭代)。也很重要的是✴️你能否把你的项目完整且精彩的写在简历上并且讲述给你的面试官听。📳过程分为三步:1️⃣明确想做的任务和方法:任务:拿 NLP 举例,主要分为四大任务:分类任务、生成任务、序列标注、句子关系判断方法:主流方法 or 前沿方法。还是拿 NLP 举例,主流方法可以是 BERT ,前沿方法当然就是大模型微调啦2️⃣找到相关代码+多迭代明确任务和方法之后,就可以找找 Github 先跑通一个 Version 1了。接下来比较关键的一步就是如何优化你的 Version 1了。比如你可以从数据预处理、加入小 trick 、对比不同模型性能等多种角度来以此尝试,试图能否提升性能与效果。其实这就是面试官想看到的,因为大家可以想想互联网的一个最重要的特点不就是飞速的迭代嘛,很多的算法岗业务也是如此:要不就是开辟新业务,要不就是用新方法重新做一遍旧业务,一旦优化成功了,你的新模型就成功上线了。3️⃣写好故事+讲好故事简历书写(这一篇笔记先不具体展开了),但大致可以按照下面一部分的几个角度来切入讲好故事:面试前提前准备好下面几个问题,数据是什么,方法是什么(对应八股要准备好),项目的目的是什么﹣﹣让面试官有个总体了解是怎么迭代算法与模型的,性能对比情况如何﹣﹣体现你的工程能力与优化能力,遇到过什么困难,是如何解决的﹣﹣提升真实性,让面试官直观的感受到你是自己做的,还有什么改进空间﹣﹣体现你的思考与沉淀。📳如果想进行更加详细具体的项目辅导,提升面试能力,欢迎后台联系。#算法# #简历中的项目经历要怎么写#
点赞 评论 收藏
分享
翻遍各种大模型的实现,虽然结构上可能保留了 dropout 的实现,但是采样概率都设置为 0 了。唯一一个比较新的,还用 Dropout 的模型是 Meta 训练的 Galactica 模型。那为什么现在不用了呢?核心还是要弄清楚 Dropout 的使用场景。Dropout 之前在深度学习当中是一个特别好用的方法,可以防止过拟合,提高泛化。所以说,当模型较大,数据较少的时候,使用 Dropout 是比较合适的。现在大模型处在什么状态呢?✅预训练在预训练阶段,目前可能还是处于欠拟合的状态。之所以说可能,是基于目前公开的一些论文的出的结论。但是现在闭源的公司在采用大量数据合成的情况下,已经训练足够充分或者接近充分也说不定。以 llama 一系列论文为例,训练 llama 1 的时候,龙猫 Scaling law 里面提到 GPT3 是一个训练很不充分的模型。然后给出的数据配比的建议是,10B 的模型要采用 200B 的 token 来训练。但是 llama 1 采用了 7B 的模型,训练量 1T 的 token 发现性能依然有提升。而且预训练所有的语料一般只过一个 epoch,某些特定的领域可能过 2个 epoch,可以认为样本的重复率很低。所以,在数据足够多,多样性足够而且没有太多重复的情况下,大模型在预训练阶段仍然没有过拟合的风险。也就完全不需要采用 dropout。✅Dropout 就完全不需要了么?如果上面的条件不能满足,Dropout 还是有用武之地的。比如前面提到的 Galactica 模型。这个模型和其他大模型不太一样的地方是训练了 4.25 个 epoch,因为他们认为高质量的数据更重要一些,但是又没有那么多,所以就 repeat 数据了。在论文《To Repeat or Not To Repeat: Insights from Scaling LLM under Token-Crisis》 中,详细列举了数据 Repeat 对训练 LLM 的影响,并且证明了 Dropout 可以缓解数据重复带来的性能损失。在文章《Can LLMs learn from a single example?》中,也提到了在 SFT 的时候,少量的重复数据就会降低模型的性能。这也符合常理,SFT 的数据分布和预训练的通常是不太一样的,重复的数据会让模型拟合新的分布,从而忘掉旧的分布。文中同样也提到 Dropout 可以缓解数据重复带来的影响。所以 Dropout 在数据量较少,多样性不高,需要 repeat 的场景下,依然是一个减少过拟合的很方便的手段。比如现在已经有一些在 LoRA 微调的时候采用 Dropout 的研究了。#算法# #简历中的项目经历要怎么写# #算法岗面试# #互联网大厂招聘# #大模型# #大模型面经#
点赞 评论 收藏
分享
评论
9
44
分享

创作者周榜

更多
牛客网
牛客企业服务