阿里暑期实习一面面经 C++后端开发

自我介绍

项目

  • 介绍项目实现流程
  • 项目是如何实现高并发的
  • epoll怎么实现的,与select、poll区别
  • 非阻塞是什么
  • 边缘触发(ET)是什么
  • 线程池是怎么实现的,比起使用单个线程的好处,线程池节约的是哪里的开销(创建销毁的开销大概是多少,线程空间设定的多少,线程处理完任务切换的内存空间?
    • 这一部分具体实现我不太了解,我回顾的时候问题描述地不是很清楚,面试官应该在引导我,可是还是答不出来……
  • 线程如何实现安全的,锁和信号量在线程互斥中怎么实现的
  • 解析报文使用的有限状态机,怎么实现的,状态机有几种状态

计算机网络

  • tcp/ip四层模型分别是什么
  • http协议是什么,http3.0了解吗(不了解,是不是3.0也忘记了
  • tcp三次连接
  • http协议用的tcp还是udp(不太了解,瞎答的tcp,然后问那http可以用udp吗)
  • ip和端口,端口是什么作用

操作系统

  • 进程间通信的方法
  • 项目中的线程是在内核态吗
  • 互斥与同步有什么方法
  • 信号量底层怎么实现的
  • 互斥锁

C++

  • C++的三大特性
  • 静态多态和动态多态是什么
  • 初始化列表了解吗
  • 初始化有哪几种方法
  • 类里面成员的初始化在什么时候初始化的?一开始还是使用的时候初始化?
  • static什么时候初始化?
  • 虚函数表(结合了实例问问题,答得不好)
    • 给了A,B,C三个类,C继承B,B继承A,问调用C的方法底层是怎么实现的
    • 调用C的方法,实际上是执行A,B,C三个类中哪个类的方法?
    • 函数变量是A的引用,是怎么调用虚函数的(dbq,连题目都没听懂…
  • 智能指针
    • weak_ptr是如何解除shared_ptr循环引用的?
    • unique_ptr实现细节:
      • 如果有两个ptr相互指,有没有问题?
      • 一个指针指向一个资源,是什么时候释放指针?(dbq还是听不懂题目
  • new,malloc
  • 内存相关
    • 堆、栈区别
    • 堆可以扩容吗

STL

  • vector和list区别,查找、删插元素的时间复杂度
  • vector和list删插元素,迭代器有什么变化吗?
  • 有没有不能遍历的容器
  • 讲一下map容器
  • unordered_map容器了解吗

最后

  • 做项目中有没有遇到过问题,怎么解决的?
  • 小组合作中有没有遇到问题,怎么解决的?

算法(30min)

  • 写一个二叉树的数据结构,实现dfs和bfs
  • 实现一个给定大小的循环队列,尽可能完善功能
  • 给一个数N,给出大于或等于该数的最小素数回文数(要满足素数,并且该数是回文串)
  • ps:阿里编程平台是不能编译的,没有测试用例,相当于一块白板。30min大概写出来2道题,第三道没时间写,面试官会问一下思路

反问

  • 面试有什么评价和之后面试的建议

面试总结

  • 第一次面试,准备地还不够充分,一些原理要结合实践再加深一下理解(线程池、智能指针、虚函数)
  • 面试官问项目基本上是把项目上出现的每个名词挨个问了一遍,对于写在简历上的每个词都要清清楚楚
  • 面试足足面了1h+30min算法,每个问题尽量多回答一点,不然一直在问一直在问新的知识点……
#阿里巴巴##面试题目#
全部评论
没问数据库吗
1 回复 分享
发布于 2022-03-30 22:35
楼主有二面吗?
点赞 回复 分享
发布于 2022-05-15 19:16
面经值得研究,感谢提供
点赞 回复 分享
发布于 2022-04-28 11:48
你这基础知识面好广
点赞 回复 分享
发布于 2022-04-02 18:50
值得参考
点赞 回复 分享
发布于 2022-03-30 23:07
楼主问题总结得挺全,我今天面的跟你差不多,算法题2道一模一样
点赞 回复 分享
发布于 2022-03-24 17:06
蹲个后续
点赞 回复 分享
发布于 2022-03-23 20:17
算法在阿里的平台写有代码提示吗
点赞 回复 分享
发布于 2022-03-19 18:52
这是电话面吗
点赞 回复 分享
发布于 2022-03-19 14:52
我也是c++找实习,lz你那个项目是不是牛客项目
点赞 回复 分享
发布于 2022-03-19 14:28
八股文能问这么多?问了多久?
点赞 回复 分享
发布于 2022-03-16 17:08
LZ过了吗?一面之后多久二面啊?还等着看你二面面经呢🤩
点赞 回复 分享
发布于 2022-03-15 21:02
老哥,暑期实习面试挂了,会对秋招有影响吗?
点赞 回复 分享
发布于 2022-03-15 08:29
兄弟是阿里的编程平台不能运行吗,那样是不是只写核心代码就行了啊
点赞 回复 分享
发布于 2022-03-12 21:55
请问楼主项目做的是什么?
点赞 回复 分享
发布于 2022-03-12 20:08

相关推荐

06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
避坑恶心到我了大家好,今天我想跟大家聊聊我在成都千子成智能科技有限公司(以下简称千子成)的求职经历,希望能给大家一些参考。千子成的母公司是“同创主悦”,主要经营各种产品,比如菜刀、POS机、电话卡等等。听起来是不是有点像地推销售公司?没错,就是那种类型的公司。我当时刚毕业,急需一份临时工作,所以在BOSS上看到了千子成的招聘信息。他们承诺无责底薪5000元,还包住宿,这吸引了我。面试的时候,HR也说了同样的话,感觉挺靠谱的。于是,我满怀期待地等待结果。结果出来后,我通过了面试,第二天就收到了试岗通知。试岗的内容就是地推销售,公司划定一个区域,然后你就得见人就问,问店铺、问路人,一直问到他们有意向为止。如果他们有兴趣,你就得摇同事帮忙推动,促进成交。说说一天的工作安排吧。工作时间是从早上8:30到晚上18:30。早上7点有人叫你起床,收拾后去公司,然后唱歌跳舞(销售公司都这样),7:55早课(类似宣誓),8:05同事间联系销售话术,8:15分享销售技巧,8:30经理训话。9:20左右从公司下市场,公交、地铁、自行车自费。到了市场大概10点左右,开始地推工作。中午吃饭时间大约是12:00,公司附近的路边盖饭面馆店自费AA,吃饭时间大约40分钟左右。吃完饭后继续地推工作,没有所谓的固定中午午休时间。下午6点下班后返回公司,不能直接下班,需要与同事交流话术,经理讲话洗脑。正常情况下9点下班。整个上班的一天中,早上到公司就是站着的,到晚上下班前都是站着。每天步数2万步以上。公司员工没有自己的工位,百来号人挤在一个20平方米的空间里听经理洗脑。白天就在市场上奔波,公司的投入成本几乎只有租金和工资,没有中央空调。早上2小时,晚上加班2小时,纯蒸桑拿。没有任何福利,节假日也没有3倍工资之类的。偶尔会有冲的酸梅汤和西瓜什么的。公司的晋升路径也很有意思:新人—组长—领队—主管—副经理—经理。要求是业绩和团队人数,类似传销模式,把人留下来。新人不能加微信、不能吐槽公司、不能有负面情绪、不能谈恋爱、不能说累。在公司没有任何坐的地方,不能依墙而坐。早上吃早饭在公司外面的安全通道,未到上班时间还会让你吃快些不能磨蹭。总之就是想榨干你。复试的时候,带你的师傅会给你营造一个钱多事少离家近的工作氛围,吹嘘工资有多高、还能吹自己毕业于好大学。然后让你早点来公司、无偿加班、抓住你可能不会走的心思进一步压榨你。总之,大家在找工作的时候一定要擦亮眼睛,避免踩坑!———来自网友
qq乃乃好喝到咩噗茶:不要做没有专业门槛的工作
点赞 评论 收藏
分享
评论
26
235
分享

创作者周榜

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