姑妄听丨黑阶下潜之彩票

Photo By Israel
Sundseth

刚文  – 
开始了, 直接聊天

Chapter 1

      
老吴就片上心情欠佳透了。儿子猛地打电话过来,说而结合。而女方提出的渴求还是:坚决不跟老家儿住在同步!话就非过分,可问题是:不以共同已,他们力所能及停止哪里?儿子之干活正稳定下来,根本就是无闲钱置办新房。自己微小之收入越来越拼不过“正值青春发育期”的房价。

      
挂掉电话,他瞬间发了难以。自己辛辛苦苦这大半辈子,住的要单位30年前分下来的保障房。这房子,别说儿媳妇不鸣金收兵,就是停止,也挤不下四口人。他拘留了圈手中的房屋广告,又想了想自己手头儿的存,无奈的叹息了口暴。

      
“吴叔,这都生班儿半天了,怎么还不回家?”同科室的略刘走了恢复,一眼就见了老吴手中的广告。“呦!怎么在,要买房?”他边翻来在报纸,边问。

       老吴看了他同眼睛,尴尬的欢笑道:“啊,随便看。”

      
“我告诫你啦,趁早儿断了当时念想。说词不好听的,就立房价儿,甭说咱老百姓,就是刘翔,他看了,八成儿也得犯怵。您还别乐,咱话糙理不糙。您说,您一生挣俩钱儿也无爱,老了总矣,有个遮风避雨的地儿也不怕共同了,犯不达到与他于这真儿。”

       老吴盯在他看了一半作,末了,应道:“哎。”

      
“得,这天儿也无早了,我也不陪你了,咱回见吧。”说在,小刘将起协调之衣,走了出。

  以下且是团结面试中遇的广阔的问题.如发生不妥之地方即当见笑了. 哈哈

Chapter 2

      
“北京,阴,降水概率20%。”街边的商铺中传出天气预报的响声,模棱两可的展望彰显了之城市之免平凡。而且,不光是天,所有东西似乎都是如此,“降水概率20%
”是个永恒不变的真理,你不能够说阴天就一准儿会下雨,但“20%”,就好证明降暴雨的可能性。

       “老板,来包儿烟”老吴走及同样中报亭前,对内部说道。

       “什么刺激?”一个青春的青少年抬起来。

       “红河吧。”

       “6块。”

       “涨钱了?”

      
“嗐,这年头儿,除了工资无上涨,什么还涨。”说正,小伙子把烟递给老吴。

      
老吴接了烟,抽出一颗根在嘴里生。听到年轻人的口舌,竟笑了。的确,国家之宏观调控把老百姓消费水平定在了“青春企”,除了已经“步入晚年”的工钱,什么都当涨。

      
“哦,对了。还有这戏意儿,还那么价儿。”小伙子靠在一旁的彩票投注机说道。

      
老吴吸了同样人辣,鬼使神差的,竟打了一样流。他喃喃自语道:“这游戏意儿好,这游戏意儿好。”

 图片 1

Chapter 3

      
推开家门的那么一刻,老吴几急需给屋里扑鼻的米香扑了出来。他吧了吸鼻子,又扫了同一眼睛还以灶忙碌的爷们,径自走及沙发前,坐了下去。

      
吴婶看了外一如既往肉眼,顺手擦了擦额间滑落的汗,道:“你先以一会儿,等自家炒了这菜,咱就是开饭。”

      
老吴闻言微笑答应,顾自拿起茶几上之报,看了四起。报纸及能看的消息少的特别,除去大片的广告,就不过剩余繁荣昌盛的祖国和动乱的国际局势。

      
“说若少啊好,”吴婶不知何时走了恢复。“一天到晚就理解打点子没因此之报纸。上次收废品的尚说啊:‘现在的一律斤报纸,九星星向上,都是广告!’真不知道你是怎想的,花一样堆放钱,就吧请同样堆‘正版小广告’?”

      
老吴闻言合上报纸,站于一整套来对吴婶说:“不发表广告?人家报社喝西北风去?!”

      
“就你恍然大悟高!”吴婶解下围裙扔在沙发上,讽刺道:“有若这样儿的十单,能拉一报社!”

       “哪儿那么基本上说的?!吃饭用!”老吴不理她底埋怨,向餐桌走去。

      
“就明白吃!”吴婶没有好气的瞪了他同眼睛,正使同过去,却发现沙发上老吴遗落的彩票。她捡自看了看上面的数字,又顺手丢到了茶几上。

       “钱烧的卿来三三两两。”

1. 座谈你们服务器的架吧.

Chapter 4

      
《天气预报》这个栏目还真的不是摆放,通过气象台昨仰总责之预报,今天,还当真“降水”了。多年非着的“春雪”把这市冲刷的焕然一新,胡同街巷被立刻突然如该来之大雪无添了千篇一律湾说勿生底韵味。好不容易回升之气温也于一夜之间回到了冰点以下。

      
吴婶裹着厚厚的羽绒服来到楼下公园晨练,云手还没有拉开,就映入眼帘楼下的老常凑了还原。“哎,吴嫂,这么冷之御还下运动?你这身体无弱化当年啊。”

       吴婶闻言同笑,随即上前迈了一致步,将亲手推出:“你莫为下了么?”

       “嗐,我这是下散散心。”

       “怎么了?”

      
“别提了,我为不怕你笑。我们家老迟,这不提前退休了为?成天闲的跟什么似的,没事儿就夺小区门口那么棋牌室。去就失去吧,兹您不给自家来什么幺蛾子就改成。嘿,您猜怎么在?他还要痴迷上彩票了!说马上东西来钱赶紧,保不齐就整治一500万花花。我说若不怕做梦去吧!凭什么就500万便该公得着?那中奖号码是你开始的?你就是照知道就期开什么号?死在不听。这不昨儿开奖,他购买那几声泪俱下,又隐藏过去了!”

      
听到老常的言辞,吴婶“咯咯”笑了起来,拳也顾不齐于了,忙问:“就立马事把您愁成这样?”

      
“你听在什么。完了我便说他:‘老实了吧?那彩票不是凡私家就是会被之。’他只是倒好,死心眼子一根筋,非要受到点呗。您说,这不吃饱了支撑的吗?”

      
吴婶看了老常同双眼,往手上呵了口暴,又把放在耳朵上捂了巡,说:“各有所好,迟哥这样大人了,不纵图一律笑也?”

       “该乐乐他的哎,我莫遮着。可他心脏不好,这要是······”

       “呸!呸!呸!别瞎说。走,姐姐带您吃早点去。”

分析:

Chapter 5

      
还未曾下班,老吴就收到了吴婶的电话机。急切的电话铃声一如她这迫切的心情。

       “老头子,下了班麻利儿回来。哦,对了,别忘了买入份儿今儿的报。”

      
老吴听得云里雾里,原本就是深受办事无暇得焦头烂额的异,这下再理无来头绪了。正待出言相问,却发现有些刘走了过来。

       “吴叔,带火儿了也?”

       老吴时不曾掉了神儿来,问道:“什么您说?”

       “借而火儿用用?”小刘提高了调,又咨询了同等遍,声音中拉动在有些苦涩。

      
老吴闻言同大吃一惊,忙从上衣兜里摸来打火机递给他,问道:“出什么事儿了?”

      
小刘看了外平眼睛,抽出烟来点,递给老吴。又和谐点了平根,叹了口暴,说:“一唠难尽呐。”

      
原来,小刘自幼父母双亡。除了同套的债,父母养他的尽管止发同样所破旧的始终宅院。这么多年来,靠着街坊的扶贫和协调坚决的着力,他才念了了高等学校。可即使于昨天,小刘突然听说,“······老宅子,要拆了。”

      
“这不深好的吧?”老吴吐生同样人烟,说。“这样一来,你不仅可以据此拆迁款还根本债务,还会选购所新房。”

      
“不是如此的,吴叔。”小刘深吸了一样丁烟,“您才看到拆迁可以取得一大笔钱,可老爷子留给我之土地······”

       老吴沉默了半天,“······可也是,有得一定来失去啊······”

  假如这是率先只问题, 你可运动了. 可能每地方原因外未思量要而.
或者其他意外已有人还称了. 

Chapter 6

      
看正在报纸及之开奖号码,老吴呆住了。他战战兢兢着由上衣兜里抽出一根本烟在嘴里生,深吸了一致总人口。这天大的幸运仿佛昨夜的大雪,砸得老吴有些透不过气。没错,老吴时起买的彩票,居然,中了!他做梦吧不见面想到,这种天上掉馅饼的美事儿会获得至祥和头上。300万,他仅仅觉眼前一阵浓黑。

      
“这是好事儿啊,有啊好愁的?”吴婶将沏好的茶递给老吴。“儿子之房舍起归属了,咱俩还能借此机会出去走走。有什么好愁的?”

       “但愿吧。”老吴接了茶杯一饮而尽,眉头却不安的皱了起。

      
“铃——”电话不适时宜的响起了四起。吴婶将起听筒,里面传播儿子之响声:“喂?妈?是自个儿。”

       “哎,妈知道。吃饭了啊?”

       “没为,我们领导人新为自家叫了一如既往案子,客户催的挺紧的,正做吗。”

       “不以就一阵子,先夺吃简单吧。”

       “嗯,我马上就算失去。您和我爹也?吃了邪?”

       “吃了,吃了。你也抢去吃吧。”

       “哎,行。哦,对了。这礼拜我没准儿回去。”

      
吴婶看了老吴同肉眼,随即说道:“回来吧,妈让您烙饸子。正好,你爸爸啊产生事儿跟你说。”

       “不会见是房的事吧?”

       “你归就是懂得了。”

       “得,那我先行夺用餐了。您与自家大也早点儿歇着吧。”

       “嗯,挂了吧。”

或者仅是为仿效一沾东西.哈哈.一般面试游戏服务器出的早晚,这地方自然会问的.
关于游戏服务器架设,

Chapter 7

      
吴宇同全套遍地对着彩票上之数字和中奖号码之间的异同,而结果——就比如父亲告诉他的——分毫不差。他大压住内心躁动的欣,颤抖着对老吴说:“爸,这彩票······该不会······是您自个儿印的吧?!”

      
“放屁!”老吴同拿抄袭自桌上的报章为这“不肖之子”打去,却非思量,被后世闪身避过。吴宇就嬉笑着跑至平其它,爱不释手地数摩挲着这笔“巨款”。不多时,一帧好与女朋友携手走上前民政局的画面在眼前渐隐渐现,就连他的口角也还不自觉地高高翘了起。

      
“啪!”先前流产的“嗔怪”终于抓住了空子,应声而下,准确地砸在了吴宇头上。

       他强烈地回过头,发现大刚脸怒容地扣押正在团结。

       “傻乐什么!?”

      
老吴还为回沙发上,端起茶杯呷了同等人数,低声问道:“你······想清楚了?”

       “什么?”吴宇不明所以,揉在首反问道。

       “我是说,你确实打算跟着丫头结婚啊?”

      
这话茬儿······吴宇隐约察觉到了啊,却以非敢确定。于是试探着问:“您的意是,不容许就宗婚事?!”

      
“想啊呢?!”老吴烦躁地摆放了招,“我是咨询你,她······是单生活人啊?”

       “瞧您这话说的。葭夤乖巧懂事,这你是显现了的哎!”

       “明去领证儿吧。”说罢,老吴长有了同人暴,顺势躺在了沙发上。

用好拼命积累是硬功夫.没有单100页doc难抓下来.且不同商店架构还是怪无一样.

Chapter 8

       领奖的过程颇为较老吴想象的设恐怖得差不多。

      
饶是外这么一个在活动单位所有丰富工作更的“老革命”,终归要要以当下多而狼似虎的记者兵们面前败下阵来。

      
想到自己昨天晚上还为了规范领奖时的言行忙了一个夜间,可当他真站于摄像机前,被镁光灯晃过以后才发觉:一切,都是白为。想到这儿,老吴的汗珠就制止不停止地流动了下来。他起佩服起那些成天在于闪光灯下的大腕大腕来。因为无论如何,单从迎镜头就点达吧,自己不同得还真的是充分远吗。

      
“呃,吴大爷。您怎么来了这么多汗?是休痛快也?”一各项年轻的小伙举着话筒高声问道。

      
老吴同吃惊,马上将出手绢在脸颊胡乱擦了一如既往管,强笑道:“天儿热······呵呵······真热!”

      
“那,是怎么的机缘巧合促使你买下立刻注彩票的也?”对方不知趣儿地持续问。

       “唔······因为······因为······呃······因为······他······便宜!”

      
“什么???”小伙子显然是不曾听清楚,其他记者越来越摸不着头脑。正待出言相询,“铃——”一阵陡然的电话铃声给抱有人犹生个别措手不及,只有老吴激动地跨越了起来,仿佛抓住了扳平根本救命稻草。

      
他一边颤抖着拿出手机,一面兴奋地游说:“几各类差点儿各项,实在对未歇,家出急事儿,回见吧。”说正在,便在大群记者错愕的目光中,逃离了现场。

光是为了回应面试,可以参考

Chapter 9

      
老吴闪身钻进同部出租车,扔下一句“开快点儿!”后,顺势倚在了晚所上。他单松了放宽自己越来越“紧张”的领带,一面环视着外面正不断集聚之新闻记者,叹道:“两世界为人呐!”
开车的年青人突然地听到这么一句,脑子转推广了空,右脚猛地踏在油门上,车窜了下。

      
心有余悸的老吴看正在极为去之楼层,紧张的心灵神慢慢松了下去。他撇出手机,正准备好好谢谢那位救协调有苦海的救星的上,手机又响起了起来。

      
“喂?”老吴以下了交接听键,电话那头传来吴婶焦急的动静。单由这点上看,先前之那么根救命稻草的也是它。想到这儿,老吴的声息一下子悦起来:“傻媳妇儿,娶了若当成自己就一辈子尽神之操纵!”

      
“什么以及什么哟?”吴婶显然不领情,她仍然说道:“出事儿了!你赶紧回来吧!”

      
“什么?!”巨大的思维落差让老吴时并未回了味儿来,他无意问道:“你说啊?”

       “你现在赶早至医务室来,出事情了!”

      
“出事情了······出事儿了······”老吴喃喃自语,该不会······“小宇他······”

       “哎呀,不是小宇。你赶快来吧,三星星词也跟你说不清楚。挂了什么。”

      
能让老伴儿这么上心灵之,不是小宇又见面是何许人也也?电话同挂,老吴心里就是作起了嘀咕:媳妇儿父母早逝,娘家哥哥更是加大话“老死不相往来”,这事,到底出以了谁身上吗?

      
“大爷,”驾驶座上传出司机的声,小伙子满是天真的脸颊刻画满了不安,他试探着问:“您立即是······要去哪里啊?”

      
老吴抬头看了年轻人一样眼睛,后者双手紧紧抓住方向盘,目无斜视。看来是吃自己今天奇异的举动吓得无容易。

       老吴暗骂一句该大,对青年人商量:“哦,去诊所,去医院。”

(待续)

*
*

   MMORPG服务器架设
 http://www.blogjava.net/landon/archive/2012/07/14/383092.html

   云风的
BLOG http://blog.codingnow.com/

至少可大概扯一点, 对吧.通常这题目控制你说到底资格,极其重要,
也是咱们干程序的必然要是累积之.

 

2. 偶尔也会见问,项目组在开发被问题. 因企业只要异.

比如怎么统筹跨服对战的作业, 怎么设计一个棋牌的肆意排序算法.

分析: 

  1)对于跨服对战, 当初是独卡牌战斗类, 简单些. 按照老套路

    a) 每个服前10叫作, 特定时刻提请

    b) 按照服务器id,玩家id 构建一个新服

    c) 参照老套路了, 有矣新服对交战开始了…

  2) 对于棋牌的妄动算法, 基本都是一个傻大哈方法

//
//    简单棋牌随机算法
//  chess    : 存放棋牌的数组
//    len        : 棋牌处理长度
//
void chess_rand(char chess[], int len) {
    if (!chess || len < 2)
        return;

    for (int i = 0; i < len; ++i) {
        int j = rand() % len;
        if (i != j) {
            char c = chess[i];
            chess[i] = chess[j];
            chess[j] = c;
        }
    }
}

切切实实就是若开过就本卿做了之思绪说, 没开了就按自己思绪实诚一点说. 哈哈

 

3. 就此了呀数据, 什么数据库引擎,优化什么的扯个淡.

分析:

  一般都是mysql, 问几单简单的sql查询.然后问innodb 和 myisam 区别.

  MyISAM和InnoDB的区别 

  Mysql几种植检索引类型的别与适用情形

实在现在开自己认为打C++ 软件开发层面. mysql没有mariadb优势大,
高级层面的优化交给数据库开发者. 业务层开发为即是索引等等.

到此处有时候会细问DB Server 设计. 缓存服务器设计等. 因企业事情不同,
说一样游说完全可以.

  高并发服务器的设计–缓存的使

  顾念以C++游戏服务器遭受落实热还,数据缓存要怎么样做为?

为克促膝交谈个半天.

 

4. 那起来扯除了架之外最要之了, 多线程设计了.

分析:

  首先一般面试官会这样开始, 啊, 那线程和进程的异议是啥呀?这东西常问,
不管是应届菜鸟还是老油条.

因为面试官多数发问自己先叫他人问底, 可以参见知乎上讨论, 基本都晓得了,
可以来回扯了.

  线程和过程的别是呀?

当然这只是独初步,有时候会受您现场写代码. 那就是得好回顾 pthread POSIX
那套了. 当然遇到必须手写的说话, 说明很人吗是尴尬你.

君也可放心了. 后面愉快自然些. 他或许还没有你掌握多.
详细的可领略下面知识.

  [转]有关多线程并发:每个开发人员都承诺询问的情

其实关于线程真实工作遭到, 实战经验为零. 最扯淡的是, 会说之匪必然会写,
会写的难说. 仍然推荐可省 云风 的 github,

地方多线程代码不少. 还有就是是POSIX 多线程那本书特别通过典.很为力.

分享个多单线程顺序循环执行之代码, 哈哈如下:

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <semaphore.h>

// 测试线程数量
#define _INT_THS    (3)

struct threadarg {
    pthread_t tids[_INT_THS];
    sem_t sids[_INT_THS];
};

// 简单运行函数
static void * _run(void * arg) {
    int i = -1, j = -1;
    struct threadarg * ths = arg;
    pthread_t tid = pthread_self();
    pthread_detach(tid);

    // 确定这是第几个线程
    while (++i < _INT_THS)
        if (pthread_equal(tid, ths->tids[i]))
            break;

    // 循环个特定遍数就结束吧
    while (++j < _INT_THS) {
        // 第 i 个线程, 等待 第 i - 1 个线程, 输出 'A' + i 
        sem_wait(ths->sids + (i - 1 + _INT_THS) % _INT_THS);
        putchar('A' + i);
        // 第 i 个线程, 激活 第 i 个信号量
        sem_post(ths->sids + i);
    }

    return NULL;
}

//
// 写个测试线程信号量代码
// 开启 _INT_THS 个线程, 顺序打印数据 A->B->C->...->A->B->....
//
void test_pthread_sem(void) {
    // 开始初始化了
    int i, j;
    struct threadarg targ;

    // 先初始化信号量,后初始化线程
    for (i = 0; i < _INT_THS; ++i) {
        // 0 : 表示局部信号量当前可用; 0 : 当前信号量值为0
        if (sem_init(targ.sids + i, 0, 0) < 0)
            goto __for_exit;
    }

    // 开启线程
    for (j = 0; j < _INT_THS; ++j) {
        // 开启三个线程
        if (pthread_create(targ.tids + j, NULL, _run, &targ) < 0)
            goto __for_exit;
    }

    // 激活第一个线程, 输出 'A' 开头
    sem_post(targ.sids + _INT_THS - 1);

    // 中间等待一些时间吧
    getchar();

__for_exit:
    // 注意的是, 假如信号量释放了, 线程还在跑, 会异常
    for (j = 0; j < i; ++j)
        sem_destroy(targ.sids + j);
#ifdef __GNUC__
    exit(EXIT_SUCCESS);
#endif
}

编译指令是

test_pthread_sem.exe:test_pthread_sem.c
    gcc -g -Wall --entry=$(basename $@) -nostartfiles -o $@ $^ -lpthread

末尾呢可以参见下链接学习一下.

   信号量与法变量的分别

 

5. 那么再同蹩脚至语法基础部分了. C++各种语法妖魔来了. 哈哈

有这么一个情况. 一个函数玩家new了只针对象.
但是忘记delete了.直接return了,怎么整变通内存泄漏.

分析:

  其实就看似C++问题, 在C++最经典的书籍被都有解释.
一般人会见答应用智能指针. 这时候面试官和蔼的报你不行.

您sb了. 那怎么整哈哈. 如果开过怪简短,没开了就是xxx了.
其实这候面试官希望你自己实现只简易的智能指针. 其实是

生好行,
本质就是是C++栈上变量在函数返回下会退栈,执行变量析构函数.其实再聊天一点,这种特征本质就是是编译器在编译的时节

,帮咱插入了这些构建和清理的代码而以. 一个概括的代码如下:

template<typename T> class AutoPtr {
    T * _ptr;
public:
    explicit AutoPtr(T * ptr) {
        _ptr = ptr;
    }

    ~AutoPtr(void) {
        delete _ptr;
    }

    T & operator*() {
        return *_ptr;
    }

    T * operator->() {
        return _ptr;
    }
};

就此法呢专门简单

    class People { };
    AutoPtr<People> ptr(new People());

暨此就各种妖魔鬼怪出来. 例如会持续问placement new 的所以法. 呵呵,
各种奇葩问题来了.

  C++ 中为什么没placement
delete

参照者资料看之可怜有意思.一般而言 placement new 用当指定对象分配达到.

#define _INT_XX (108)
char xx[_INT_XX];
T * p = new(xx) T;

当还有更奇葩之以构造函数和析构函数吃丢掉来异常.
这种题材面试一叩多基础部分即类似尾声了. 能扯个30min吧.

  构造函数、析构函数抛来怪的题材

  有关构造函数 和 析构函数
能否抛出异常的座谈

说白了, C++ 的 new 和 delete 还是异常有搞头的 O(∩_∩)O哈哈~  ┻┳|・ω・)问我?

 

6. 而且是不过简便易行的虚函数了, 必问. 直接将起吧.

  虚函数virtual可以说凡是C++面向对象的所有.
面试时必问的根底中之基础.(✪ω✪) 让咱们来分析其中的绝密吧.  

virutal虚函数围绕本质在于编译器帮我们在类似中插入了 __vfptr 变量.
例如下面例子.

图片 2

如上就是是虚函数实现原理.通过汇编好实现.通过纯C++实现有接触难打,
需要记住类型.

 

7. 那届了STL部分了,也是素有的. 搞一做吧.

  STL是必问的,其实问的还格外简单. 多数凡看看下面STL代码是够有问题. 奥,
常见的发生各种爱之区别.

对的时段需要吸引迭代器特点. 存储结构特点.
例如只有vector和deque是顺序存储并且支持随机迭代器的.

一对会问怎么去vector中是偶数的迭代器. 手写代码.

    int i = 0;
    std::vector<int> vs;
    std::vector<int>::iterator it = vs.begin();
    while (it != vs.end()) {
        if (++i % 2 == 0)
            it = vs.erase(it);
        else
            ++it;
    }

重要是留意一下迭代器失效的情况.

  C++STL常见面试题

后扯扯C++11面知识. 其实哈哈, 都C++17了, 还11. 说白了尖端程序员,

高级的地方不在于功底, 不在能力, 最根本的凡业务熟悉度,
和手上店之政工匹配度.

 

8. TCP 和 epoll 出现了. 其实也十分简单.

  网络这块也是避让不掉的.什么四不好分别, 3不良握手是要的.

   TCP相关面试题总结

  TCP滑动窗口控制流量之原理

这里TCP搞了了, 那起问select, epoll 什么的. 可以了起考验你api 和
内核的领悟了

  linux下epoll如何落实高效处理百万句子柄的

   epoll
底层实现源码分析

  epoll实现机制分析

套路都差不多. 多总结总结,
这之中试官一咨询会聊个5-10min吧. 毕竟除了老一辈的程序员功底好把.

乍的于这些吗就是 –>  “编程5min闲话2h” !
O(∩_∩)O哈哈~  关于epoll 实际用法可以参照我的底博文

  C高级 服务器内核分析及构建
(一)  

 

后记 – 新的上马, 哈哈

   以上就是老鸟找工作必问的题材, 深入的扯能够扯好久…. 错误是免不了的,
欢迎指正, 共同提高~~~

  
虚虚实实 
http://music.163.com/\#/m/song?id=189433&userid=16529894

  图片 3

                   人生没有重来,
贪婪有哪里不足  -|-  对不起我之哥们儿和自己的阿妹

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图