回顾下面试中碰到的数学题
 2,假设生男生女概率相同,都是\(\frac{1}{2}\),一直两个小孩中有一个男孩,求另一个也是男孩的概率.
 这题可以用贝叶斯做.更直观的思路是:男男,男女,女男概率相同,所以答案是\(\frac{1}{3}\).
 3,掷硬币,正反面出现的概率都是\(\frac{1}{2}\).如果连续出现两次正面就终止.问终止时掷硬币次数的期望.
 算期望的常规思路是假设次数,找次数的概率,概率对次数求和或者积分.但是这题很难算.思路是假设平均x次,找x自身的等式关系.
 1) 第一次掷出反面,此时剩余次数期望为x
 解出x=6次.
 4,[0,1]上什么分布有最大方差?证明结论.
 直观猜出结论是一个两点分布:\(\frac{1}{2}\)在0和1各自取值.
 证明:
 \(var(x) = E(x^2) - E(x)^2\),
 因为\(x\in[0,1]\),所以\(x^x \leq x\),
 所以\(var(x) = E(x^2) - E(x)^2 \leq E(x) - E(x)^2\)
 后者极大值已经在上述结论中取到.
 Author xfanzonePosted on April 8, 2016 April 9, 2016 Leave a comment on 面试数学题若干
 用天天P图制作color splash效果
 下面这个特效见于"辛德勒名单",同大幅黑白画面将观赏者注意力吸引到彩色的肥猫身上.这个特效通常可以用color splash这款app制作.但是color splash的问题是抠图太过麻烦,手指抠图的效果对目标边缘处理比较糟糕.今天尝试了用天天P图的抠图功能实现这个特效.
 首先把图片导入color splash,获得全黑白版本.
 结果就是这样,没任何难度,其实用别的app也可以:
 然后打开天天P图,找到魔法抠图,导入原始彩色图片,选择任意模板:
 魔法抠图使用了一些智能算法,对用户非常友好.抹两下就抠好了:
 点击右箭头,到达这个界面.背景就是刚才选择的.在这里可以选择"自定义背景",从相册里找到之前的黑白图片.
 如果抠图时没有挪动过图片,那现在黄色肥猫应该正好覆盖在自己的黑白照片上.
 保存图片,和color splash的效果相同,但是过程远远简单.忍不住马上再抠一张.
 Author xfanzonePosted on April 7, 2016 April 7, 2016 Leave a comment on 用天天P图制作color splash效果
 挽救糟糕的手机照相
 之前用了小半年Nexus6,其拍照性能是灾难性的:打开相机要卡20秒到半分钟,照片各种噪点,照片灰暗.之后换了iPhone,相机是秒开,但是大多数时候照片仍是非常糟糕,所以手机P图是不可或缺的技能,发朋友圈之后修修图也是对朋友的尊重.
 作为一个没啥审美观的人,简单研究了下各大P图软件(天天P图,美图秀秀,柚子相机,VSCO,Snapseed等等),我发现能基本掌握剪裁,调整亮度对比度色温,就处在朋友圈50%的照片水准之上了;如果还能抹掉一些坏点,基本可以处在前30%的位置.
 前三项功能基本是个修图软件都有,后者目前只发现Snapseed最好用.下面以柚子相机和Snapseed为例,介绍以下怎么做出朋友圈里色泽金黄的早餐.
 首先,原图长这样.它的问题在于没有阳光的感觉.没有阳光的早餐是不会被人承认的.
 在柚子相机里打开照片,工具栏在最下面:
 防止强迫症颈椎出问题,先旋转90度:
 然后选工具栏第一项,调整亮度和对比度.只要细节都能看清,亮度和对比度大一点比较好:
 然后选择工具栏第二项,增加色温.下面就看起来很阳光了,虽然我是放在不见天日的床头柜上拍的:
 这张照片背景比较干净,左边少有一些杂物,稍微剪裁就可以了:
 修图成果:
 为了强行演示Snapseed的污点抹除功能,我打算抹掉煎蛋上的几颗黑胡椒.打开Snapseed:
 戳右下角画笔按钮,选修复:
 放大到目标胡椒的位置,用手抹匀蛋清和胡椒:
 修复的结果:
 最终的成品:
 Author xfanzonePosted on April 6, 2016 April 6, 2016 Leave a comment on 挽救糟糕的手机照相
 移动开发实习体验
 去年5月在某大公司实习Android开发,实习期持续了三个月,技术提高有限,但是了解了大公司规范开发的流程,算是最大的收获吧.
 以前也在师兄的小公司实习过,Android和iOS开发一般是各两三个人,一个美工同时负责视觉定稿和素材切图,产品功能设计干脆是老板和客户一同负责.开发写完代码会自测,然后就交给老板和客户不停地玩,找出bug修bug.其实麻雀虽小,五脏俱全,上述过程基本包括了移动开发的所有角色.
 大公司只不过在每个环节投入更多力度,保证每个步骤的可靠性.
 首先老板肯定不必拿根铅笔画App的界面了,产品组和美术组会沟通确认功能和UI.偶尔也发生美术组和产品组意见不合,一般是以产品组为主导.
 接下来就是产品组把所有需求细分成很多需求单,交给开发组.开发组员工的这一周比较轻松,除了日常的bug修复外就是思考这些需求,确定可行性,估算用时,分配每个人的任务.然而对本轮无法实现的需求驳回 -  - 和产品组复议.
 然后就是开发组员工干活的时候.因为每个人负责独立的模块,而且代码有版本控制,所以不太怕一个人搞怀整个项目.不过偶尔还是会有人动到整个项目,导致整个项目不能build -  - 通常就是实习生了.所以新员工会要求code review(CR),我实习的三个月大概提交了100次出头,也就是100次CR.
 每完成一个需求就要申请提测.这个需求的产品组负责人和测试组负责人就要开动,确认该需求是正确完成并且没有bug的.如果有bug就会提出bug单.上述的需求单和bug单就构成了这个项目的管理系统.最直接的测试就是手动去玩,各种人类能做到的快速连击,断网,重启都可以尝试;另外有自动测试系统,本质上是测试程序疯狂在虚拟机中虐待App,找到可能的错误,把log交给程序员寻找可能的bug.
 开发会在发布日前一周左右终止开发,避免引入新的bug.剩余一周是留给测试组和开发组共同消灭bug的.发布前几天开发组可能要偶尔熬个夜;发布后是开发组难得的清闲时光,一般可以早些回家.
 当然开发开始到发布完成这段时间产品组也没闲着,开发组马上又会收到新的很多需求单.
 Author xfanzonePosted on April 5, 2016 Leave a comment on 移动开发实习体验
 静态博客与wordpress
 昨天晚上折腾了个把小时,又把博客从pelican转移到了wordpress,托管在腾讯云上.
 近两年静态博客比较流行,在计算机本地用markdown写文章,生成html页面,然后传到服务器上,就是静态博客,不需要服务器后端程序.唯一困难的是静态网页无法存储数据,这就不能支持评论功能,然而有disqus这样的服务,注册后可以用javascript载入评论区,所有评论都放在disqus的服务器上.国内应该也有了竞品.
 我先前也在用这样的博客,比如octopress和pelican.优点还是挺多的:
 不需要后台程序.octopress和pelican会通过markdown文件生成html网页文件,直接放在网页服务器上.而网上有很多免费的静态托管空间,通常是免费的,例如github page.github page本意是给project一个静态的介绍页面,用来作为博客空间也算合适.
 安全性高.正因为没有后台程序,静态网页本身并没有漏洞,减少了网站被攻击的风险.
 逼格高.与众不同似乎是很重要的一点,特别是静态博客刚兴起的时候.
 但是用了一段时间后,也发现了静态博客的痛点:
 只能在自己的电脑上写.静态博客的原始数据(markdown格式的博客文章),转换程序都在自己的本地计算机上,所以必须只能用自己的电脑写.而用wordpress可以在任何有网络的地方写,在网吧写,在自己的笔记本,办公机,平板电脑上写,在手机上用wordpress的客户端写.毕竟写作本身才是博客的重点.
 如果硬要抬杠,其实也可以把博客的原始数据,转换程序放在服务器上,每次通过ssh登录去写.但是这又要求有比较高速的网络连接(否则敲一个字得等上一会儿才出现),至少需要一台vps而不仅仅是静态托管(可以直接用wordpress了),移动设备上的ssh体验通常比较差.
 评论数据不在自己的手中.如果更换域名或者调整URL,这些评论就不在能够找到自己正确的位置,这对个人博客来说可能是比较常见的.更不用说第三方服务条款变更(突然收费?),宕机,倒闭等等风险.
 门槛高.这是高逼格的另一面.静态博客更适合程序员,在生成网页,推到到服务器这个过程可能出现各种各样的问题,非程序员或者IT从业者很难自己解决.
 而wordpress的优点就是方便,配置一次就可以在任何地方任何设备上用,只要托管服务器不出问题就不用担心.而大规模的用户群也保证了各种插件的供应,大多数需求都可以满足.要专注写作本身,用简单的wordpress还是很不错的选项.