<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[腾讯实习生面试2016两道面试题目？]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Sun, 17 Apr 2016 15:06:09 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	在参加腾讯实习生2016面试时，有两道问题自己没有想清楚也思考的不是很明白，面试结束时后悔没有问正解是什么，回来后在搜索引擎上也没有搜到相关的问题。<br/><br/>第一道：&quot;在多线程环境下，有大量并发， 有一个百万次出现一次bug， 如何调试这个bug。&quot;<br/><br/>第二道是面试官给我的试卷上面的。&quot;有一个类指针，指向类实例化的对象，在程序的运行过程中，这个类指针指向的对象崩溃了，这个类指针的虚函数表被破坏了，如何定位这个问题？&quot;<br/><br/>所以，我想问下这两道题目该怎么回答， 谢谢谢谢！！！<br/><br/><br/>知乎网友洋耗子答曰：<br/><br/>因为这些都是假设性问题，所以一般都只能说排查问题的思路：<br/><br/>问题一：<br/><br/>1：其实100万分之一的几率并不算很低。一个繁忙一点的服务，每秒一万个请求是很正常的（如果业务简单，还能更高）。所以百万分之一的复现概率，相当于在压力测试下几分钟就能出一次了。所以在道理上，如果有服务以这个几率出现bug，让它上线本身就是测试部门的失职。<br/><br/>2：反过来说，既然几分钟就能复现，那就在测试环境里压就好了，想怎么改就怎么改，想怎么打log就怎么打log。<br/><br/>3：假定测试环境的压测真的没出来，真的线上出现这样的问题（例如说压测的用例没有覆盖到）。首先考虑的是回滚服务到旧版，以确保正常业务不出问题。然后在线上环境提取某台机，用类似tcpcopy这样的软件导一份数据到测试环境中，来测试这个有问题的版本。这时候，既然是测试环境，你想怎么办都行（不影响线上服务）。<br/><br/>4：到了真正去分析bug了，那首先确定bug的类型。例如说如果能core dump的话相对好办一些，因为可以从core dump大概能看出或者猜出一些东西来。而如果并不core dump，而只是导致数据错乱的话，那就要做数据出入口的校验等。<br/><br/>5：在各顶级模块的入口出口打log，定位发生bug时所在的模块，然后逐步收敛。<br/><br/>6：确定这些模块以及关联影响的模块，单独提取这些模块出来，进行测试或者code review，最终确定问题。<br/><br/>问题二：<br/><br/>1：这类bug，一般都涉及越界操作。<br/><br/>2：一般这类bug，大多数都是可以通过静态code review解决的。既然知道是那个类，盯着用到这些类的实例的地方就行（包括这些类实例的前后几个对象，因为有可能是它们越界）。<br/><br/>3：一些工具，例如valgrind、purify之类的，也有可能有帮助（不一定肯定有用，但一般还是挺有用的）。<br/><br/>朋友！你也别纠结了，因为这两题答不出，拿不到实习不是你的错。
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 腾讯实习生面试2016两道面试题目？]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>