美团(iOS客户端)面经
一面 8.20上午 1h20min
(除去我断网换地方,电脑没电关机的时间,大概1h)
小哥哥很有耐心,人很好,一开始我的网很不好,只能看到打字,听不到声音也看不到视频。小哥哥耐心地等我换了一个地方。后来,我的笔记本又没电了,小哥哥再次耐心地等我回来,但我大概率感觉凉了......
- 自我介绍
- 喜欢钻研,遇到技术难题,通过什么方式解决?
- 网上的学习途径,经常逛的技术网站
- 大学期间做过的项目(我聊了大学里的,根本没说研究生的......)
- 指针和引用的区别
- 面向对象的三个特性?解释三个特性的含义
- static的用法
- malloc和new的区别
- 智能指针
- HTTP和HTTPS的区别,HTTPS怎么加密
- C++11的新特性(看过,但当时我脑子一片空白......绝了)
- TCP怎么保证可靠传输
- TCP滑动窗口机制
- Web页面请求过程(我回答的真的垃圾......)
由URL怎么知道发给我不是发给别人
提示我DNS了解吗 - 死锁发生的条件
- 操作系统中的颠簸(根本没听过......)
注:搜了答案,原来就是抖动,之前看过的,但忘了,还是太菜了,要继续努力啊......
操作系统抖动,又叫颠簸,颠簸是不作处理的计算机活动,通常是因为内存或其他资源耗尽或有限而无法完成所要执行的操作。当操作系统抖动时,程序就会通过操作系统发出请求,操作系统就试图从其他程序中拿来所需的资源,这就使得新的请求不能得到满足。
在虚拟存储系统(使用页来管理逻辑存储或内存的操作系统)中,颠簸就是发生过度页请求操作的情况。如果分配给进程的存储块数量小于进程所需要的最小值,进程的运行将很频繁地产生缺页中断,这种频率非常高的页面置换现象称为抖动。解决方案优化置换算法。
Belady奇异现象,是指采用页面置换FIFO算法时,如果对一个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多,但缺页率反而提高的异常现象,这是一个违反直觉的现象。 - 数据库了解过吗? -只知道事务,索引 -说一说索引的概念 -......
- 说一下几种排序算法的时间复杂度
- 说一个你最喜欢的算法(我竟然说了贪心......还说的一塌糊涂......)
- 手撕快排 让程序能运行起来 随便造一组输入 (但我没搞出来......醉了)
- 有什么问题要问?
问:需要加强哪一方面
答:感觉你有点紧张,要放松一点,当成正常的一次交流。基础不错,继续保持。介绍项目的时候,要按照一定结构介绍,背景目标动作结果,也就是STAR法则。如果以后真的想做ios开发的话,最好自学OC。
二面 8.26下午(1h)
(可能美团的面试之路比较坎坷,这次的面试链接怎么也打不开。。。面试的小哥哥换了三四次地址,终于好了)
自我介绍
c指针类型在编译阶段还是运行阶段确定
static关键字的作用
常用的数据结构
用数组或者链表实现一个队列
#include <iostream> using namespace std; struct ListNode { int val; ListNode* next; ListNode():val(0),next(nullptr){} ListNode(int _val):val(_val),next(nullptr) {} }; class q { private: ListNode* head; ListNode* tail; public: q() { head=new ListNode(); head->next=nullptr; tail=head;//表示当前链表的尾端 } void push(int a) { ListNode* node=new ListNode(a); tail->next=node; node->next=nullptr; tail=node; } int pop() { int b=head->next->val;//这里加next head->next=head->next->next; return b; } };
存在的问题:
q初始化的时候,建立了两个结点,这个时候它的长度是0还是2?
head和tail不应该是容纳数据的一部分
head作为伪头结点,只是一个标记,不是输出head指向的值,而是它下一个的值关于时间复杂度的一系列问题:(我回答的一塌糊涂......醉了......)
1、队列插入和删除一个数据的时间复杂度
o(1)
2、如果用数组实现呢?push和pop的时间复杂度?
pop:o(n)
push:o(1)
3、用数组,队列满了需要扩容,扩容的时间复杂度是什么?
o(n)
(我怎么就不会呢。。。。。。)进程和线程的区别和联系
进程通信的方式
一个省的高考成绩,获得前k名(k比较小)同学的成绩
提示:成绩是0-100之间的数字,桶排序(我忘了。。。)最近看什么书/博客?
自己写代码写得多吗?
反问
1、加强方面:基本功:想做开发,不仅看书/视频,要多动手,自己实现,多实践。
2、工作以后干什么事情?
3、OC语言,swift一定要学
这次面试真的看出了自己的问题,基础和动手实践,简直一针见血。。。真的是基础薄弱啊。。。回放我的录音,我都为自己觉得尴尬,面试官真的有耐心。唉。
这几次面试都是我准备了什么,反而没有问什么,直接问我薄弱的地方,让我看到自己的大片大片漏洞。努力吧。
hr面 9.3 20min
- 为什么选择北京?
- 遇到什么困难?
- 喜欢读什么书?
- 怎么提高能力?
- 喜欢什么样的氛围?
- 是不是独生子?
- 反问:
美团的氛围
9.7 意向书 到店ios客户端
#面经##校招##美团##iOS工程师#