攒了半个多月的一丢丢面经+许愿

20200828 小米一面 已挂

-----15 min

  1. 自我介绍
  2. 简历的求职目标很明确,你说一下你的目标及原因
  3. 介绍一下实习,问我写了多少行代码
  4. 了解什么小米产品。给你方向有:音视频,驱动,多媒体等等,你会选择哪个
  5. 会不会安卓,IOS 开发 (不会)
  6. 了不了解容器 (不了解)

20200811 快手一面 一直没消息,流程也没变,当做已挂

  1. 自我介绍

  2. 面试官:好像没啥好问的,那就写两个题吧,,,内心(欧,西八儿)

  3. 最长不重复的字符的长度;先讲思路,然后再写;我提了一个尺取(复杂度 On,但是还是带常熟),然后被面试官否定了,然后面试官问我优化,优化成不带常数的,就 On;没搞出来;面试官给我讲了一下应该咋做,,,,(蠢哭,听了半天,还是不太懂,毕竟就纯靠说,当然和自己菜脱不了干系)。。。然后写代码,,,,,,阿巴阿巴阿巴

  4. 和遍历螺旋数组差不多,用 1 到 n * m 去螺旋填充 n * m 的矩阵。。也是先说思路,然后写代码。。。。。阿巴阿巴阿巴

  5. 反问环节
    就这样,,,,,,,搞了一个小时,西八儿。。。

20200901 富途一面

  1. 介绍一下对 C++ 的了解
  2. 说一下你了解的 STL 容器
  3. set 和 map 底层数据结构,为什么要用红黑树
  4. 其他的关联式容器,unordered_map 底层数据结构是什么
  5. 如果让你自己实现哈希,需要注意些什么
  6. 处理哈希冲突有哪些方式,详细介绍一下拉链法,unordered_map 的哈希冲突处理方式是哪种
  7. 介绍一下 C++11 左值引用和右值引用
  8. 右值引用的特性有什么意义
  9. 说一下 C++ 里面的虚继承
  10. C++ 怎么实现多态的,了不了解虚函数表中的内存布局(我不太明白意思,答的不了解,意思是有虚函数类的内存布局吗??)
  11. C 和 C++ static 关键字的联系和区别,类的静态成员存储在哪个位置,存放在哪个静态存储区(??不知道)
  12. 临时变量在哪个内存区
  13. 介绍一下编译好的二进制文件内存布局
  14. 已初始化数据区和未初始化数据区分别放什么
  15. 介绍 tcp 和 udp 他们底层的一些协议机制 (??啥意思没明白,是什么拥塞控制这些吗?一堆 tcp 和 udp 乱说)
  16. udp 发送 10 次 10 字节数的包,对端会分几次收到 (不知道)
  17. ping 是怎么实现的 (不知道)
  18. 说一下 tcp 四次分手最后两个阶段
  19. TIME_WAIT 状态的意义,大量的 TIME_WAIT 怎么解决 (不记得了,说了一下可以更改某个值,然后问了一下这样做的原理是什么,不知道...),,,(有啥又瞎扯了一下什么 端口处于 TIME_WAIT 不能重用balabala的,/捂脸)
  20. 讲一讲 epoll 的 ET,LT 的区别
  21. 将一个 proactor 和 reactor 模式区别和联系
  22. 对数据库了解吗 (不了解,/捂脸)
  23. 介绍一下实习,用的技术 (真直说了 没啥技术,,,就一定逻辑问题)
  24. epoll 的底层是怎么实现的,说一下与 select 的区别和联系
  25. listen api backlog 是什么意思,设置这个的意义 (又是瞎扯,防止什么攻击,然后面试官说 什么(没听的清)泛滥是防火墙的事情,/捂脸)
  26. 扑克牌 54 张,分成 3 堆,每堆 18,问大小王同一堆的概率 (害)
    手写:
  27. 单链表排序
  28. vector = {1, 2, 10} 表示 1, 2, 10 都有无限个,问构成一个给定数 b,最少需要用多少个数。。如 {1, 2, 10},b = 11,输出 2

------整个过程大概花了 1 个小时 20 分钟吧-----
总结:基本全是基础,但还是有不知道的。。。奥利给

20200826 腾讯一面

笔试 50 min:

  1. 实现 atoi 函数,计算机只能存储 32 位数。
  2. 一个字符串,为它有多少种合法的 ipv4 地址。s = "25525511135"输出:["255.255.11.135","255.255.111.35"] (暴力枚举三个点的位置,问了一下用了那些剪枝,有没有考虑前导 0 的情况(没有,,Orz))
  3. 原地翻转链表 (递归写的,还问了一下非递归的写法)
  4. 工行有30w员工,员工ID为【1,300000】,目前有一个随机函数rand()能够随机均匀的生成【0,65535】的随机函数,请使用该随机函数从工行的30w员工中随机抽取出10w名中奖员工(提醒了很久,还是不会,害,难受。。确实是概率的东西忘完了,太菜了)

面试 50 min:

  1. tcp 三次握手,四次挥手的过程,什么时候是 close_wait,time_wait
  2. 谈一谈 tcp 滑动窗口
  3. 客户端在不知道服务器发生异常(连接有异常,但是客户端不知道)的时候能不能 write 成功。(最后是瞎答,答错了,提醒了一下 tcp 是怎样发送数据的,write 放到发送缓冲区就返回了)
  4. epoll 的 ET 和 LT
  5. 用 epoll 写一个 tcp 服务器的流程
  6. 多线程与多进程
  7. 多进程的通信方式
  8. 实习相关
  9. 反问环节
  10. 其他的不记得了,随缘补上

知道自己的水平低,但许个愿。许愿今天的 tx,富途面试顺利,奥利给

#腾讯##小米##快手##富途##校招##面经##C++工程师#
全部评论
楼主收到tx和富途二面了吗😄
1 回复 分享
发布于 2020-09-05 23:13
老哥是社招吗,技术面,面几次
点赞 回复 分享
发布于 2020-09-14 15:43
小米挂了的状态是啥样
点赞 回复 分享
发布于 2020-09-06 00:29
楼主,富途是连着面吗?
点赞 回复 分享
发布于 2020-09-06 00:19
腾讯一面笔试第4题咋做呢楼主,求解惑。
点赞 回复 分享
发布于 2020-09-03 09:18

相关推荐

04-22 23:15
中南大学 Java
时间:4.21公司地点:北京时长:52min做了一些简化,提取了更有借鉴价值的部分1. 部门介绍2. 自我介绍3. 这两个项目你觉得哪个项目复杂度高一些,可以多聊一会4. 你这个项目主要是想解决什么样的问题呢5. 你刚才说这些方法的话,应该说也是社区内或者说比较常见的一些处理方式了,对吧?我都或多或少都能get到,但是我有一个问题,就是**你做这件事情之前,就是每一个技术的应用之前,你有没有去验证这个技术确实提升了准确率呢**6. 我们的这些处理方式是否真正的真的提升了它的准确率。就是我们只是堆砌技术,还是说我们确确实实是提升了这件事情?7. 你这一知识库当时怎么选的?你做的知识库是什么类型的知识库?8. 那你这知识库里面涉及了哪些方面的内容?比如说文学类的,还是什么科技类的?是什么航天类的等等?有没有就说具体一些?9. 那你这个博客内容写的多吗?10. 那如果14篇文章的话,而且你这14篇文章看起来所涉及的范围是比较发散的,那么在这种情况下,其实这个rag的检索本身就不容易出现,刚才说的那个检索有问题的情况,这可能本身就不是个问题。11. 在我们去真正去做一件事情这的处理的时候,其实我们还是应该先去有一个度量的标准,不然我们优化可能是负优化,我们都不知道对吧?就是说我现在要做 rag 检索。我要去先做一个度量的方式,然后去验证它的准确率,你应该怎么做?12. 你怎么判断问题回答是准确的13.那么我怎么看到线上的这些回答的准确率呢?14. 有必要搞多级缓存吗15. 好,那首先就多级缓存来说,你觉得,它有什么弊端,还有它有什么优势?这个讲一下。16. 我有一个问题,首先其实我们一般认为 redis 它的那个吞吐是非常高的,而且如果说我们比如说数量很大,Redis 它也是支持那个多节点对吧,比如说…… 不管是哪种方案吧,Redis 也可以支持多节点的这种部署,所以在这种情况下的话,我们认为 redis 从网络压力这一块是没有太大问题的。那么在你看来,有了 redis 的话,我们还要去引入本地缓存的主要目的是什么?因为刚才你说的只是为了减少网络开销。 但是现在我们实际的生产环境中 redis 的是网络开销 其实是没什么太大的问题的。你应该明白我的意思,就是 redis 网络开销不是它的核心问题,就是我为什么非要引入本地缓存17. 我看后面你还自己写过两个 SKILL 对不对?能具体展展开一个就是你可能平时,有没有平时用的比较多的,我想知道不是那种为了写而写的那种,就真正能解释你生活中问题的那种 SKILL18. 你最近面试多吗?19. 那八九场的话,就是你觉得你做的自己就是面试,就是相当于面试自己的这种 Skill 和你真正去面试中拿到的面试题,它相似度高吗?>我是我当时了解到,主要是主要是因为网络开销的问题,进一步提升响应速度20. 说实话 redis 并不存在很大量的网络开销问题  对不对?21. 我看后面你还自己写过两个 SKILL 对不对?能具体展展开一个就是你可能平时,有没有平时用的比较多的,我想知道不是那种为了写而写的那种,就真正能解释你生活中问题的那种 SKILL22. 你最近面试多吗?23. 那八九场的话,就是你觉得你做的自己就是面试,就是相当于面试自己的这种Skill和你真正去面试中拿到的面试题,它相似度高吗24. OK, 那你觉得你这个 SKILL 有没有帮你解决到一些实际面试中的问题,有没有确实命中的一些面试中的一些真正的面试题25. 对你来说,现在比如经验完经历完这场面试之后,你觉得你的 SKILL 应该如何提升呢?26. 你理解什么叫 CAS?27. 那它和悲观锁有什么不同?那首先第一个问题就是纯靠CAS就能解释就能实现这个乐观锁吗?28. 解释一下volatile的这个关键字的目的和作用29. 既然我们提到了CAS操作就一定能保证。并发更新的安全性了。那么我们为什么还要用 volatile 去修饰这个变量呢?这不多此一举吗?30. 好,那继续问 CAS 里面会有什么问题?就它会有什么其他的什么问题呢?31. 你了解 CAS 的 ABA 问题吗?32. 讲一下怎么解决就可以了33. 那现在回到这儿来说就是有乐观锁和悲观锁两种锁,对不对。那么,我什么时候要选择乐观锁?什么时候要选择悲观锁?你看,我们知道 JDK 里面 synchronized 的关键字是悲观锁,对吧?而 ReentrantLock 是个就是这种我们一般认为是 CAS+volatile 这种乐观锁的方式那么这两种方式的话,你觉得我们在应用中。什么情况下会采用乐观锁?什么时候要采用悲观锁?34. 为什么?35. 这个我知道好,那现在问一个问题 就是说,既然高并发情况下用悲观锁就很好,那我无脑用悲观锁不就完了吗?就是既然说。乐观锁有就是说并发高了,它就不行,自选浪费 CPU,对吧?那我无脑用悲观锁,不就 OK 了吗?不挺好的吗?36.那还有一个问题,就是我们刚才说的这些并发的处理的方式。都是基于一个理念叫共享内存,对吧,相当于都是无论是悲观锁还是乐观锁,我们都相当于是要在对象上加锁,然后限制一些线程的进入和退出,对不对。 那么有没有别的方式照样可以实现并发更新的?并发更新的这样的一个方式,就除了共享内存方式,还有没有别的。比如说或者说我这么说吧,就全世界上处理同一个数据的多线程更新的这个问题,只有乐观锁和悲观锁两种方式吗?是非阻塞不能处理吗?因为不管是哪个锁,其实都会进入到一个阻塞的状态,对吧?必须是通过阻塞的方式才能搞实现多线程对同一变量的更新吗?37. 手撕环节:[电话号码的字母组合](*******************************************************************)48. 反问环节
查看30道真题和解析
点赞 评论 收藏
分享
评论
4
23
分享

创作者周榜

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