2021秋招面试题目收集--美团打车(1, 2 + HR)

一面

1.1 面试体验

  • 时间:2020-09-11 15:00 ~ 16:30
  • 面试官全程笑脸,很耐心,OS聊的很深💖💖💖💖💖

1.2 问题

  1. 进程和线程的区别
  2. 进程间通讯,并依次解释
  3. 内存映射
  4. Linux文件IO过程
  5. MMAP() 是什么?
  6. 死锁是什么,手写死锁示例
  7. 线程不安全的例子
  8. HashMap哪里线程不安全,单就put和get函数线程安全吗
  9. HashMap的链表转树,条件和原因;树转链表,条件和原因
  10. TCP三次握手和四次挥手
  11. 可以把四次挥手第二、三次挥手合并吗
  12. HTTP获取每个资源,每次都要建立TCP连接吗(HTTP1.1 和 1.0的区别)
  13. HTTP2.0和1.1的区别
  14. 同一个TCP连接可以进行多次HTTP请求吗,为什么
  15. 反问

1.3 代码实操

按照之字形打印二叉树(分析时间复杂度、空间复杂度)

二面

2.1 面试体验

  • 时间 2020-09-16 14:20 ~ 15:50
  • 面试官人也蛮nice的,前期跟我讨论了非常多题外话以及安全相关的问题💖💖💖💖💖

2.2 问题

  1. 为什么决定做安卓开发
  2. 之前为什么投递了后端开发
  3. 你的职业规划
  4. 移动安全是什么,包括什么(详细扯了apk打包,代码混淆)
  5. APK打包携带签名,由谁来验证(如果在应用商店、安装时、启动时怎么验证、有网络、无网络怎么验证)
  6. apk代码混淆做了什么
  7. 场景题:恶意用户通过hack客户端修改自己定位或者自动抢单,应该如何防止
  8. HTTPs中间人攻击为什么用证书可以解决(提到密钥协商)
  9. 动态密钥协商协议可以防止中间人攻击吗?(不能,只能保证前向安全)
  10. 给一段代码,分析变量的存储以及值的变化情况
  11. 反问

2.3 代码实操

  1. 实现栈,支持泛型、扩容、同步、push、pop,使用单链表,不能用java支持的数据结构做
public class MyStack<T>{
	static class ListNode<T>{
		T  val;
		ListNode<T> next;
		public ListNode(T val) {
			this.val = val;
		}
	}
	private int capcity;
	private ListNode<T> head; 
	public MyStack() {
		capcity = 0;
		head = null;
	}
	public synchronized void push(T val) {
		ListNode<T> next = head;
		head = new ListNode<T>(val);
		head.next = next;
		capcity++;
	}
	public synchronized T pop() throws Exception {
		if(isEmpty()) throw new Exception("Stack is empty");
		T val = head.val;
		head = head.next;
		capcity--;
		return val;
	}
	public boolean isEmpty() {
		return  head == null;
	}
	public int size() {
		return capcity;
	}
	public T peek() throws Exception {
		if(isEmpty()) throw new Exception("Stack is empty");
		return head.val;
	}
}
  1. 将上述代码的同步操作由syschronized替换为CAS的做法(写CAS出了点问题,这里Mark一下)
import java.util.concurrent.atomic.AtomicReference;
public class MyStack<T>{
	static class ListNode<T>{
		T  val;
		ListNode<T> next;
		public ListNode(T val) {
			this.val = val;
		}
	}
	private int capcity;
	private AtomicReference<ListNode<T>> head;
	public MyStack() {
		capcity = 0;
		head = new AtomicReference<ListNode<T>>();
	}
	public T pop() throws Exception {
		if(isEmpty()) throw new Exception("Stack is empty");
		while(true) {
			ListNode<T> currTop = head.get();
			if(currTop == null)
				throw new Exception("Stack is empty");
			else {
				ListNode<T> next = currTop.next;
				if(head.compareAndSet(currTop, next)) {
					capcity--;
					return currTop.val;
				}
					
			}
		}
	}
	public void push(T val) {
		ListNode<T> newNode = new ListNode<T>(val);
		while(true) {		
			ListNode<T> currTop = head.get();
			newNode.next = currTop;
			if(head.compareAndSet(currTop, newNode)) {
				capcity++;
				return;
			}
		}
		
	}
	public boolean isEmpty() {
		return  head.get() == null;
	}
	public int size() {
		return capcity;
	}
	public T peek() throws Exception {
		if(isEmpty()) throw new Exception("Stack is empty");
		return head.get().val;
	}
}

HR面

3.1 面试体验

  1. 时间 2020-09-16 18:00 ~ 18:30
  2. 面试体验很好,HR声音好听💖💖💖💖💖

3.2 问题

  1. 自我介绍
  2. 实习项目,做了什么,遇到什么困难,怎么解决的
  3. 为什么选择Java客户端呢
  4. 职业规划
  5. 对美团有什么看法吗
  6. 做安全可以分为那些方向呢,有什么区别吗
  7. 反问
2021美团企业研究报告主要对美团公司进行了综合性的分析和评估。美团是中国领先的在线消费服务平台,提供外卖、酒店预订、打车、旅游等多种服务。以下是对报告内容的简要回答。 报告指出,2021年,美团公司在中国市场表现出色,实现了强劲的增长。公司的年度收入较去年同期增长了一定比例,同时在多个城市扩大了服务范围,提升了市场份额。 报告分析了美团公司在外卖业务领域的竞争优势。美团通过建立广的商家网络和高效的物流系统提供便捷、高质量的外卖服务,满足了消费者的需求。同时,美团还积极推动在线支付和数字化技术的应用,提高了用户的消费体验。 此外,报告还强调美团在酒店预订和旅游服务方面的发展潜力。美团通过整合资源和提供个性化的服务,不断拓展酒店预订和旅游市场份额。报告认为,美团的多元化服务能力和强大的技术实力,使其具备了在竞争激烈的市场中取得优势的潜力。 报告还对美团公司的风险因素进行了分析,包括市场竞争加剧、规模扩张带来的管理挑战、外部环境不确定性等。报告建议美团公司在管理和创新方面继续加强,以应对激烈的市场竞争和不稳定的商业环境。 总之,2021美团企业研究报告认为,美团公司在中国市场表现出色,并具备良好的发展潜力。然而,公司也面临一些挑战,需要持续加强管理和创新能力,以保持竞争优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值