前言:最近应该有很多小伙伴去跳槽面试的吧,相信各位有的已经顺利收到offer了,而有些则是碰壁了,那么我在这里给大家准备了相关面试资料,还有相关算法资料。想了解的可找我拿
一面 8.20上午 1h20min
(除去我断网换地方,电脑没电关机的时间,大概1h)
小哥很有耐心,人很好,一开始我的网很不好,只能看到打字,听不到声音也看不到视频。小哥耐心地等我换了一个地方。后来,我的笔记本又没电了,小哥再次耐心地等我回来,但我大概率感觉凉了......
-
自我介绍
-
喜欢钻研,遇到技术难题,通过什么方式解决?
-
网上的学习途径,经常逛的技术网站
-
大学期间做过的项目(我聊了大学里的,根本没说研究生的......)
-
指针和引用的区别
-
面向对象的三个特性?解释三个特性的含义
-
static的用法
-
malloc和new的区别
-
智能指针
-
HTTP和HTTPS的区别,HTTPS怎么加密
-
C++11的新特性(看过,但当时我脑子一片空白......绝了)
-
TCP怎么保证可靠传输
-
TCP滑动窗口机制
-
Web页面请求过程(我回答的真的垃圾......)
由URL怎么知道发给我不是发给别人
提示我DNS了解吗 -
死锁发生的条件
-
操作系统中的颠簸(根本没听过......)
注:搜了答案,原来就是抖动,之前看过的,但忘了,还是太菜了,要继续努力啊......
操作系统抖动,又叫颠簸,颠簸是不作处理的计算机活动,通常是因为内存或其他资源耗尽或有限而无法完成所要执行的操作。当操作系统抖动时,程序就会通过操作系统发出请求,操作系统就试图从其他程序中拿来所需的资源,这就使得新的请求不能得到满足。
在虚拟存储系统(使用页来管理逻辑存储或内存的操作系统)中,颠簸就是发生过度页请求操作的情况。如果分配给进程的存储块数量小于进程所需要的最小值,进程的运行将很频繁地产生缺页中断,这种频率非常高的页面置换现象称为抖动。解决方案优化置换算法。
Belady奇异现象,是指采用页面置换FIFO算法时,如果对一个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多,但缺页率反而提高的异常现象,这是一个违反直觉的现象。 -
数据库了解过吗? -只知道事务,索引 -说一说索引的概念 -......
-
说一下几种排序算法的时间复杂度
-
说一个你最喜欢的算法(我竟然说了贪心......还说的一塌糊涂......)
-
手撕快排 让程序能运行起来 随便造一组输入 (但我没搞出来......醉了)
-
有什么问题要问?
问:需要加强哪一方面
答:感觉你有点紧张,要放松一点,当成正常的一次交流。基础不错,继续保持。介绍项目的时候,要按照一定结构介绍,背景目标动作结果,也就是STAR法则。如果以后真的想做ios开发的话,最好自学OC。
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要, 这是一个我的iOS交流裙 :[891 488 181],不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!
资料免费领取,包括 数据结构、底层进阶、图形视觉、音视频、架构设计、逆向安防、RxSwift、flutter,
二面 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
-
为什么选择北京?
-
遇到什么困难?
-
喜欢读什么书?
-
怎么提高能力?
-
喜欢什么样的氛围?
-
是不是独生子?
-
反问:
美团的氛围
文章到这里就结束了,你也可以私信我及时获取面试相关资料。如果你有什么意见和建议欢迎给我留言。
网友评论