暑期实习:美团 测开+答案 (一面 二面 hr面)

虽然是做嵌入式的,当时特别慌所以测开我也投了,而且美团的流程特别快,一周就拿到了offer,也为我稍稍缓解了一些找工作的焦虑,让我们一起感谢美团!

一面

  1. 自我介绍
  2. 算法:有序链表合并 leetcode的解法,基本都这样
class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        if (l1 == nullptr) {
            return l2;
        } else if (l2 == nullptr) {
            return l1;
        } else if (l1->val < l2->val) {
            l1->next = mergeTwoLists(l1->next, l2);
            return l1;
        } else {
            l2->next = mergeTwoLists(l1, l2->next);
            return l2;
        }
    }
};
  1. 测试用例怎么写

这个主意就是一些边界条件,指针空啊,数据不合理啊,数据的类型不合理啊啥的,这个多刷刷算法,应该会有比较多的认识,我感觉这个言之合理就可以,因为我也是按照刷算法的时候经常没考虑到的边界情况来说的~

  1. 时间复杂度计算

    1. 一个for 就是n,嵌套几个就是几次方
    2. 二分是log,
    3. 其他的是1
    4. 如果是嵌套关系就是乘,并列关系就是取复杂度高的那个
    5. 然后记一下常见的几种算法的复杂度
  2. 指针和引用

    1. 区别

    一个是地址一个是别名,初始化不一样,然后就可以从使用的角度说一下,引用可以避免拷贝啊,不用解引用啊啥的说说。

    1. 自增的意义的区别

    指针自增就是指向下一个地址,引用自增是那个数据增加

    1. 指针没有做类型检查

    指针会做类型检查,但是可以强制转换来绕开,不是特别严格。

  3. 写代码的时候如何处理异常 空指针这种可能出现风险的地方会如何处理

    1. 首先是要有良好的编码习惯:new 和 delete配对,不要用悬垂指针、空指针、野指针等等吧
    2. 做好异常处理
    3. 可以用一些工具检查,AddressSanitizer等等吧方便检查
  4. 异常捕捉方式

    1. catch中需要写些什么内容
  5. 析构函数的理解

可以看看《程序员的自我修养》里面对析构函数有很底层的讲解~。我先抛砖引玉一下,用一个段来存放这个类生命周期结束后,自动调用的用来做一些清理工作:释放资源等等吧。

  1. 深拷贝和浅拷贝

    1. 区别、底层实现的区别

    • 深拷贝:把所有的都重新拷贝一份,重新分配一份动态内存,新旧对象拥有各自独立的内存,不会互相干扰、冲突,使用更安全,但拷贝代价更高
    • 浅拷贝:如果有指针啥的只拷贝指针,也就是说拷贝出来的会和原来的共享同一个动态内存。

    所以,浅拷贝后,释放了一个,如果另一个也释放就会出现重复释放的问题~

    1. 最主要的区别,是地址+值 和 只是地址么?

    是的

  2. static

    1. static修饰成员方法呢?

    放在text段,共用且不依赖实现可以CLASS::STATIC_FUNC()直接用,且在程序开始时就已经存在,直到程序结束,有点类似于区分命名空间的意思

    1. static修饰变量内存分配?和其他变量有啥区别?

    • 和程序同一生命周期

    • 只在类内可见、共享

    • 放在数据段而不是栈上了

    1. 栈上是怎么开辟的?
    int foo(int a, int b) {
    	int x = a + b;     // 局部变量 x
    	int y = x * 2;     // 局部变量 y
    	return y;
    }
    

其汇编如下

```asm
	; 函数入口
foo:
	push    ebp              ; 1) 保护调用者的基址指针
	

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

1. 自我介绍:高通、Oppo(sp)、vivo(sp)、小米(ssp)、荣耀(26k*12+80k)、华子(报批中)、美团、韶音、经纬恒润、乐鑫、中兴、TP 2. 内容: 1.嵌入式学习的资料和路径 2.所有面试的题目和解答(持续更新)、对评论的快速解答 3.各种碎碎念 3.整理不易,buy me coffee☕️,为了回馈牛客和各个粉丝,文章都会先试读几天,热度过了再收录~

全部评论
1. 暑期实习什么鬼, 这都啥时候了,还发暑期实习面经 2. 你搞嵌入式发"测开"面经? 3. 最奇葩你没有内容写, 这还要订阅收费, 哥,米不是你怎么赚的
4 回复 分享
发布于 2024-12-24 16:31 广东
吓我一跳,我还以为暑期开投了
点赞 回复 分享
发布于 2024-12-31 13:50 上海

相关推荐

叮~,这是一份测开上岸指南。先说一下我本科的经历:本科自学的前端,没有实习,在大三找过工作,四处碰壁,看到周围的同学都手持大厂offer,对自己三年来认真的付出不甘心,拿到保研资格后就直接躺平玩了一段时间,研究生期间大厂经历两段,秋招去的团子,上下班时间比较固定,压力相对较小,需要内推可以找我。这里有一些关于找实习和找工作的一些建议:1.简历:简历部分要重点突出项目和掌握的技能点,可以边学习技术边更新简历。一定要提前找实习,一般日常实习难度&amp;lt;暑期实习难度,要是学校老师这边有压力学期内不让出去,可以找暑期实习【难度相对高一些,一般2-3月份可以投,越早hc越多】,大部分同学投简历前都觉得没有准备好,但是面试之前不可能有准备好的时候,边面试边总结经验才有可能拿到好的offer,很多时候觉得自己准备好了再去投有可能岗位机会已经没那么多了。2.博客:大家在学习过程中遇到的问题都可以用博客记录下来,一方面方便总结回顾,另一方面也是自己学习历程的展示,访问量多的话也是另一个加分项。3.数据结构与算法:力扣的剑指offer和牛客的在线编程要过一遍,实习和找工作基本上都是力扣和牛客上的原题,要是有额外精力的话可以看看其他经典的算法,不过一般来讲刷完这两个基本就差不多了。【回溯算法经常考】,可以看看*********************************/&nbsp;算法系列讲的清晰易懂。4.八股:八股我找的别人总结的pdf文档,理解着记【千万不能死记硬背,理解的基础上记忆,面试的时候才能应对突发状况,阿里的三轮技术面针对某个问题都会深挖,也会出场景。5.面试:面试之前紧张很正常,面的次数多了就会发现也就那么回事,社恐的同学可以先投小厂练练手,再冲大厂就不回很紧张了,面试过程中,可以刻意去表现自己,比如一个知识点可以掰扯到另一个知识点上就多说一说,能发散就发散。#美团# #ATMD# #美团面经# #美团实习#
点赞 评论 收藏
分享
评论
点赞
5
分享
牛客网
牛客企业服务