草庐IT

美团笔试

全部标签

从0到1:美团端侧CDN容灾解决方案

作者 |魏磊心澎陈彤CDN已经成为互联网重要的基建之一,越来越多的网络服务离不开CDN,它的稳定性也直接影响到业务的可用性。CDN的容灾一直由美团的SRE团队在负责,在端侧鲜有方案和实践。本文结合美团外卖业务中的具体实践,介绍了一种在端侧感知CDN可用性状况并进行自动容灾切换的方案,通过该方案可有效降低业务对CDN异常的敏感,提高业务的可用性,同时降低CDN运维压力。希望本方案能够对被CDN问题所困扰的同学有所帮助或者启发。1.前言作为业务研发,你是否遇到过因为CDN问题导致的业务图片加载失败,页面打开缓慢,页面布局错乱或者页面白屏?你是否又遇到过某些区域CDN域名异常导致业务停摆,客诉不断,

从0到1:美团端侧CDN容灾解决方案

作者 |魏磊心澎陈彤CDN已经成为互联网重要的基建之一,越来越多的网络服务离不开CDN,它的稳定性也直接影响到业务的可用性。CDN的容灾一直由美团的SRE团队在负责,在端侧鲜有方案和实践。本文结合美团外卖业务中的具体实践,介绍了一种在端侧感知CDN可用性状况并进行自动容灾切换的方案,通过该方案可有效降低业务对CDN异常的敏感,提高业务的可用性,同时降低CDN运维压力。希望本方案能够对被CDN问题所困扰的同学有所帮助或者启发。1.前言作为业务研发,你是否遇到过因为CDN问题导致的业务图片加载失败,页面打开缓慢,页面布局错乱或者页面白屏?你是否又遇到过某些区域CDN域名异常导致业务停摆,客诉不断,

美团面试:熟悉哪些JVM调优参数?

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~Github地址今天来熟悉一下,关于JVM调优常用的一些参数。X或者XX开头的都是非标准化参数意思就是说标准化参数不会变,非标准化参数可能在每个JDK版本中有所变化,但是就目前来看X开头的非标准化的参数改变的也是非常少。格式:-XX:[+-]表示启用或者禁用name属性。例子:-XX:+UseG1GC(表示启用G1垃圾收集器)-XX:+PrintCo

美团面试:熟悉哪些JVM调优参数?

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~Github地址今天来熟悉一下,关于JVM调优常用的一些参数。X或者XX开头的都是非标准化参数意思就是说标准化参数不会变,非标准化参数可能在每个JDK版本中有所变化,但是就目前来看X开头的非标准化的参数改变的也是非常少。格式:-XX:[+-]表示启用或者禁用name属性。例子:-XX:+UseG1GC(表示启用G1垃圾收集器)-XX:+PrintCo

美团面试:熟悉哪些JVM调优参数?

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~Github地址今天来熟悉一下,关于JVM调优常用的一些参数。X或者XX开头的都是非标准化参数意思就是说标准化参数不会变,非标准化参数可能在每个JDK版本中有所变化,但是就目前来看X开头的非标准化的参数改变的也是非常少。格式:-XX:[+-]表示启用或者禁用name属性。例子:-XX:+UseG1GC(表示启用G1垃圾收集器)-XX:+PrintCo

美团面试:熟悉哪些JVM调优参数?

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~Github地址今天来熟悉一下,关于JVM调优常用的一些参数。X或者XX开头的都是非标准化参数意思就是说标准化参数不会变,非标准化参数可能在每个JDK版本中有所变化,但是就目前来看X开头的非标准化的参数改变的也是非常少。格式:-XX:[+-]表示启用或者禁用name属性。例子:-XX:+UseG1GC(表示启用G1垃圾收集器)-XX:+PrintCo

一文帮你把脉:了解自己的Promise功底(Promise笔试题)

文本已开启银杏化模式,题目难度从简入难,非常银杏 1.1题目一constpromise1=newPromise((resolve,reject)=>{console.log('promise1')})console.log('1',promise1);------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一文帮你把脉:了解自己的Promise功底(Promise笔试题)

文本已开启银杏化模式,题目难度从简入难,非常银杏 1.1题目一constpromise1=newPromise((resolve,reject)=>{console.log('promise1')})console.log('1',promise1);------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2022美团CTF个人决赛WP

ReverseROP解析data的ROP,一点一点还原frompwnimport*opcode=open('data','rb').read()opcode_gadget=opcode[0x30+8:]foroffsetinrange(0,len(opcode_gadget),8):print(f'{hex(u64(opcode_gadget[offset:offset+8]))}') 提取出来密文,转成64位的cipher=[0x98,0x7A,0xDF,0x57,0xC6,0xE3,0x18,0xC7,0x11,0x07,0xC7,0xD4,0x02,0xD2,0x9E,0x43,0x3A

2022美团CTF个人决赛WP

ReverseROP解析data的ROP,一点一点还原frompwnimport*opcode=open('data','rb').read()opcode_gadget=opcode[0x30+8:]foroffsetinrange(0,len(opcode_gadget),8):print(f'{hex(u64(opcode_gadget[offset:offset+8]))}') 提取出来密文,转成64位的cipher=[0x98,0x7A,0xDF,0x57,0xC6,0xE3,0x18,0xC7,0x11,0x07,0xC7,0xD4,0x02,0xD2,0x9E,0x43,0x3A