北京畅聊天下C++开发一面

刚开始HR介绍了整个面试流程大概是三轮面试,前两轮是技术面,主要考察技术问题,三面综合面会有综合问题,然后接着问了些问题了解了一下基本情况,之后开始面试。

  1. 跳过了自我介绍环节,直接确认了一下姓名。
  2. 了解了一下本科专业,以及自学的情况。
  3. 了解了一下参加比赛中使用的语言。(答了比赛中使用的都是C++语言,但是面向对象的特性使用不多,主要使用标准模板库和一些方便的新特性。)
  4. 对C++语言的特性了解么?(答了比较熟悉。)
  5. 问了平时的开发环境是什么?(答了项目是在Windows上运行虚拟机Ubuntu server里实现的,比赛的代码是在Windows上使用IDE实现的。)
  6. 一个具体场景问题,设计一个类,需要保存不同学生的姓名及各科成绩记录,实现的功能有插入一条学生记录;对给定学生的姓名输出指定的成绩以及这个成绩对应的排名;对给定的成绩和k输出该门成绩排前k名的学生名字。(首先答了设计的接口数量是三个,put接口一个,get接口两个,内部可以有一个排序接口不暴露给外面,然后说了具体实现这些接口使用的数据结构,先说了最朴素的算法,就是类内部一个tuple数组保存所有已经被插入的数组,put方法直接O(1)在数组尾部插入一条记录,get方法内部首先通过条件筛选出符合条件的记录保存在一个临时的tuple数组中,然后sort排序这个临时数组,然后输出即可, 这样两个get方法每次时间复杂度都是O(NlogN)的。)
  7. 这样可以实现,有没有办法把复杂度做的更好。(答了内部对所有记录建立多个multimap,有几个成绩就建立几个multimap,插入时先在数组尾部插入新记录,之后更新每个multimap,对于单个multimap其中键是每条记录的要排序的成绩,值是这个记录保存在数组中的下标,然后在给定了要查询的成绩和学生姓名时对multimap从头进行遍历,直到找到对应姓名的学生的记录,同时也获得了该学生对应成绩的排名,输出即可;如果是给定要查询的成绩输出前k名的话,也是对multimap从头进行遍历,然后输出遍历的前k条记录即可,这样put方法的复杂度会增加,因为每次需要更新multimap,然而两个get方法的复杂度就将降到O(N),为输出前k个二叉树节点的平均时间复杂度。)
  8. 追问,面试官是提出了一些质疑,似乎是认为两个get的时间复杂度不应该是一样的,但是也没说原因,后面我也想了想,还是没明白,有可能是我口胡的时候哪里出问题了,也是第一次遇见这种类型的面试题,比较措手不及。
  9. 问了有没有了解过我们的APP?
  10. 问了是不是想来北京?(答了对于工作地点没有要求,全国都会尝试。)
  11. 反问环节。

总结:

感觉现场设计类型的问题接触的不太多,没啥经验,没答太好,八股之类的反而没有,确实令人感叹。

感觉面试官精神状态不太好,黑眼圈很重,比较疲惫的样子感觉,令人害怕。

更新:

咨询HR之后表示面试未通过,果然寄了。

全部评论
不用每次都sort 可以用链表直接插入 排序做到O(n), get用一个map,可以O(1),map键是姓名,值是这一科对应的链表节点地址,可以参考一下redis的zset
点赞 回复 分享
发布于 2023-05-08 14:08 辽宁
现在什么进度了
点赞 回复 分享
发布于 2023-05-07 16:48 福建
什么时候面的啊
点赞 回复 分享
发布于 2023-05-07 16:39 上海

相关推荐

05-22 13:05
已编辑
百度_后端开发(实习员工)
这周直接速通了几个厂,感觉不错应该能有Offer,求求大家的看法百度,某个老牌业务APP的网页端和客户端的后台研发(要转golang+php),北京,一面面试官说往年转正率还可以,早十晚七双休,随着业务加班,三轮技术面试体验都很好(感觉人都不错)。(官网上第一个部门4.25流程挂,新部门是内推码进而有周一5.19约面,周二一二面,周三三面+OC)美团,核心本地商业,业务研发平台,做商业运营,对接之类的业务,四川,转正率听说还可以,早十晚八双休,但leader暗示可能灵活加班(感觉略显push),两轮技术面试体验都很好。(官网3.25投递了两个岗位一直筛选,5.15重新投递新的岗位【转正实习】,5.16发笔试,5.17A两道,5.18直接约5.19一面,然后晚上约5.20二面,承诺一周内出结果)拼多多,上海,转正率也未知,早十一晚十一周六上班,一面是C++的面试官好像分配错了全程问数据结构和算法,二面面试官挺好的(手撕提示我半天,可能是mentor,但是忘问具体业务了),三面面试官挺忙的(感觉是leader,但是也没问具体业务),HR面才问业务说报道才分配部门(后悔没问清楚)。(官网4.10投递,4.20笔试2/4,4.24一面,5.7二面,5.13三面,5.15HR面,承诺两周内出结果)华为,云计算BU的云计算工程师,有专门的HR对接,这周一口气面完,但是听说泡挺久的,可能赶不上offer过期时间了。(华为最好要找能够对接的部门HR,这样大流程进了之后小流程就能走得很快安排笔试,华为第一个部门没人对接4.1投递直到4.30才安排笔试)虽然PDD日薪高,但是业务未知,感觉业务最好的是baidu(面试的体验最好,有专门的HR对接,倾向去),MT两轮面试都问AI比较多(说是问你擅长的而不是专挑不会的来刁难,所以体验也不错,但是感觉部门的业务不够核心?我也不知道商运是啥意思)所以比较纠结?个人有转正倾向,因为能少走弯路。
投递美团等公司10个岗位
点赞 评论 收藏
分享
06-05 10:42
已编辑
门头沟学院 Java
有没有26,27届在找实习的学弟学妹~ 抖音搜索质量架构组内直招,搜索稳定性、告警治理、性能平台开发 等你来战,组里技术氛围好,需求专项复杂,同事也都很nice,是一次镀金的好机会~ 可长期稳定实习是加分项哦~详细job信息:ByteIntern:面向2026届毕业生(2025年9月-2026年8月期间与毕业),为符合岗位要求的同学提供转正机会。团队介绍:搜索QA团队职责为搜索全链路质量保障,业务涵盖抖音搜索、头条搜索、西瓜搜索、火山搜索和其他字节系app的搜索能力支持。有活力、有创造力、有韧性的QA搜索团队,加入我们,为用户提供极致和更未来化的搜索体验。充分整合内容,高效连接人与信息,致力于成为用户首选的搜索引擎,做“最懂你的搜索”!1、对互联网产品进行测试,对围绕测试展开的开发任务进行落地实现;2、负责搜索特型产品的关键指标的数据分析,提取,建模和相关开发工作;3、对搜索特型产品核心指标和问题收敛工作进行平台化开发。职位要求1、2026届本科及以上学历在读,计算机、数学等相关专业优先;2、掌握基本的测试理论和开发技能;3、良好的沟通表达和团队合作能力;4、熟练掌握Linux常用操作,熟悉Python、Go、C++、Php等语言的一种或几种;5、对自己的工作认真负责,对代码格式与最终效果追求极致;6、能保证至少3个月以上的实习,每周可出勤至4天及以上。有意愿的同学可以投递简历至lvjinhong@bytedance.com,私聊我了解详情
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
评论
5
19
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务