- 博客(55)
- 资源 (1)
- 收藏
- 关注
原创 《剑指Offer——名企面试官精讲典型编程题(纪念版)》已经出版
《剑指Offer:名企面试官精讲典型编程面试题》一书从2011年年底出版以来,已经两年多过去了。在这段时间里,我自己的生活和工作都发生了很大的变化。写书的时候儿子小呼呼还没有出生,我还只能透过他妈妈的肚皮感受他的胎动。这次在为纪念版添加新内容的时候,他会时不时跑过来要求坐到我的膝盖上,然后在笔记本的触摸屏上指指点点。当时我还在思科工作,现在已经重新回到了微软。工作之余,我在《剑指Offer》这
2014-07-04 11:54:51 7945 9
原创 Kubernetes学习笔记(2):与资源相关的调度
当一个集群中有多个节点有足够多的资源来运行容器时,Kubernetes会给每个节点打分,然后选出一个得分最高的结点部署容器。本文讨论与资源(内存和CPU)相关的调度器打分算法和配置。
2017-07-15 12:33:50 2177
原创 Kubernetes学习笔记(1):Allocatable资源
本文总结了Kubernetes中Windows结点中Allocatable属性的已知问题。
2017-07-04 13:02:50 4239
原创 Azure编程笔记(5):长时间的异步操作带来的问题
Azure Storage里很多操作需要花费很长的时间。为了提高效率,这些耗时的操作是以异步的方式响应的。也就是说调用这些操作对应的函数虽然结束,但背后的操作可能还要持续一段时间。如果没有合理的对待从函数返回到操作真正结束这段时间,我们的程序就有可能出现问题。本文以删除CloudTable为例讨论这类问题。
2014-07-18 13:00:30 3680
原创 用户转换漏斗模型对软件开发的挑战
在传统的软件开发的中,程序员总是最关注最酷的功能。可是大量的用户在见到软件功能之前就跟软件说再见了。本文把用户从得知一个软件到成为付费用户的过程分成若干个环节。用户在每一个环节都有可能放弃作进一步尝试而离开。于是我们可以得出,我们真正需要关注的是用户在每一个环节的体验和满意度,而不仅仅是功能。
2014-07-10 11:18:25 5206
原创 Azure编程笔记(4):配置Cloud Service的证书
我们在Microsoft Azure中部署Cloud Service的时候,可能会用到证书。通常在两种情况下需要用到证书。一是把证书安装在服务器端。此时证书用来建立HTTPS/SSL连接,以便保护传输中的数据。二是把证书部署在客户端。此时客户端发起连接请求时,它会把证书信息添加到请求中。服务器端收到请求之后,会验证其中的证书是不是合法的证书。这种情况下证书是用来验证用户的。本文分两种情况来讨论如何管理证书。
2014-06-28 23:34:02 5578 8
原创 从新浪微博和MySQL的密码保护机制谈HTTPS/SSL的必要性
我们没有必要在抛弃HTTPS/SSL的前提下试图去设计复杂的加密算法或者通讯协议。本文提到的两个方案是新浪微博和MySQL的程序员们花了大量精力设计出来的机制,尚且还有明显的漏洞。不是每个程序员都有自信说自己比新浪微博或者MySQL的程序员更加优秀。如果安全性对一个系统是至关重要的因素,那么就采用HTTPS/SSL吧。虽然部署HTTPS/SSL的系统有些麻烦,申请可信赖的CA的证书还要花钱,但和安全漏洞的潜在风险相比这些代价还是值得的。
2014-06-17 23:25:03 7378 5
原创 Azure编程笔记(3):用Fiddler调试Azure的应用程序
Azure的服务是通过RESTful API提供的。虽然Azure针对很多编程语言都提供了SDK,但这些SDK也只是RESTful API的一层封装。在调用SDK或者RESTful API出错时,我们需要使用调试工具来分析并解决问题。Fiddler是一款功能强大的免费工具,我们可以使用Fiddler来调试Azure的应用程序。本文展示如何用Fiddler调试一个常见的访问Storage的问题。
2014-06-12 13:05:14 3603
原创 Azure编程笔记(2):重复CloudTable的修改操作
对Microsoft Azure的CloudTable进行操作,有很多种操作失败的可能,比如网络连接异常,比如短时间内发送的请求数太多。很多时候我们在失败之后过一段时间再重试,就能操作成功。但是有些失败不是简单重试就解决的。本文讲述的在修改操作时候发生的Precondition Failed错误就是一个例子。
2014-06-07 16:30:47 3821
原创 Azure编程笔记(1):序列化复杂类型的TableEntity字段
在使用Microsoft Azure的CloudTable存储数据时,我们先要把数据定义成TableEntity的子类。如果TableEntity中包含复杂类型(比如容器类型如List等、或者自定义类型)的字段,这些字段需要自己做序列化才能保存到CloudTable中去。
2014-06-04 10:46:40 4405
原创 如何安全地存储密码
无论是开发App还是网站,只要有用户登录环节,就会牵涉到如何存储用户的密码的问题。如果采用的存储密码的技术不够安全,一旦黑客闯入存储密码的数据库,他就能获取用户的密码从而可能给用户带来重大损失。这种情形任何公司都不希望发生在自己身上,因此选择安全地存储密码的策略显得十分必要。不一定非要自己存储用户的密码最简单的存储密码的方式就是自己并不存储,而是委托给信任的第三方存储。
2014-02-16 10:54:17 18110 5
原创 如何写简短易懂可维护的函数
虽然每个程序员都知道高可读性和高可维护性代码的重要性,但编写具备高可读性和高可维护性的代码并不是一件容易的事情。本文介绍了如何通过代码本身而不是通过注释来提高代码的可读性和可维护性。
2014-02-10 13:06:23 7021 7
原创 有网络,一切皆有可能
现在网络已经成为我们生活的一部分。包括网络技术在内的各种科技技术,正在改变着我们衣食住行等生活方式,是我们能够享受到前所未有的便利。 在过去,由于通讯、网络等技术还没有得到发展,那时人们的生活可以总结为“交通基本靠走、通讯基本靠吼”,因此生产、生活的效率都不高。 我们以马拉松长跑的起源来看先前的人类是如何传递信息的。公元前490年波斯入侵希腊,希腊人顽强抵抗,并
2013-05-02 15:07:53 4139 5
原创 用英语写书给老外看
我的英文新书《Coding Interview: Question,Analysis & Solutions》即将通过Apress出版社在国外出版发行。目前出版社已经开始为这本书做预售宣传,朋友们可以在出版社的网页上(http://www.apress.com/9781430247616)看到该书的信息。这本书以我之前出版的《剑指Offer:名企面试官精讲典型编程题》为蓝本,在采用中文书的结构和绝
2012-09-11 09:48:25 10977 7
原创 提高面试代码质量的三要素
(写在前面的话:本文在《程序员》杂志2012年1月刊上发表,并收录到《剑指Offer——名企面试官精讲典型编程题》一书中。) 程序员在职业生涯中难免要接受编程面试。有些程序员由于平时没有养成良好的编程习惯,在面试时写出的代码质量不高,最终遗憾地与心仪的公司和职位失之交臂。因此,如何在面试时能写出高质量的代码,是很多程序员关心的问题。 代码的规范性 面试官是根据应聘者写出的代码来决定是否
2012-02-04 09:55:59 12155 13
原创 善用时间,发展副业
(写在前面的话:本文在《程序员杂志》的2011年12月刊上发表。) 过去一年,我在保证不能影响本职工作的前提下,完成了《剑指Offer——名企面试官精讲典型编程题》一书的写作。下面来分享一下写作过程中践行的时间管理经验。 明确任务与目标 从2010年下定决心写书开始,我就设定了比较明确的目标。面试类的书籍有其特殊的时效性,最佳时间是在今年7月交稿,恰好能赶上2011年秋
2011-12-19 10:31:14 5833 3
原创 编程技术面试的五大要点
(写在前面的话:本文最初发表于《程序员》杂志2011年10月刊,并收录到《剑指Offer——名企面试官精讲典型编程题》一书中。) 近年来找工作一直是一个很热门的话题。我们要想找到心仪的工作,难免需要经过很多轮面试。编程面试是程序员面试过程中最为重要的一个环节。如果能在编程面试的环节充分展示自己的能力,那么拿到中意的Offer就是水到渠成的事情。笔者先后在欧特克、微软和思科等知名公司任软件工程师,
2011-11-16 15:19:40 11676 15
原创 《剑指Offer——名企面试官精讲典型编程题》已经出版
非常感谢博客上的读者,是大家的关心、支持和鼓励让我有信心写完这本书并最终出版发行(china-pub互动网、亚马逊卓越网、淘宝网、京东网、当当网上有售)。网友们的鼓励让我在博客上的写作从2007 年2 月开始坚持到了现在。也正是由于网友们的鼓励,我最终下定决心把博客整理成一本书。 本书特点 本书的原型是我过去4 年多陆陆续续发表的几十篇博客,但这本书也不仅仅是这些博客的总和,它在博客的基础上添
2011-11-16 15:07:06 10574 13
原创 C/C++/C#面试题精选(5)
问题(21):C#是一门托管语言,那么是不是说明只要用C#,就能保证不会出现内存泄露和其他资源泄漏?如果不是,在哪些情况下可能会出现泄漏?答案:C#不能保证没有资源泄漏。比如如下几种情况可能会造成资源泄漏:(1) 调用Nativecode,比如用P/Invoke或者调用COM
2011-08-17 11:16:44 18925 21
原创 面试困惑问与答(3)——题目没弄懂,可以问面试官吗?
问:面试的时候,面试官突然冒出一个之前没有听过的概念,请问我可以问面试官让他把题目说清楚吗?如果问的话他会不会觉得我很傻?答:面试和笔试最大的区别是:面试是一个注重沟通交流的过程,而且沟通是双向的。因此面试官可以问应聘者问题,同样应聘者也可以问面试官问题。
2011-03-21 11:21:00 10718 30
原创 C/C++/C#面试题精选(4)
问题(16):运行如下的C++代码,输出是什么?class A{public: virtualvoid Fun(int number = 10) { std::cout <<"A::Fun with number "
2011-03-09 08:58:00 8660 25
原创 C/C++/C#面试题精选(3)
题目(11):运行下图中的C#代码,输出是什么?namespace StringValueOrReference{ class Program { internal staticvoid ValueOrReference(T
2011-02-24 16:18:00 27789 116
原创 面试困惑问与答(2)——感觉挺好,为啥被拒了?
问:技术面试的时候,题目挺简单的,我觉得自己都做出来了。可最后怎么还是被拒了啊?答:面试被拒有很多种可能,比如面试官认为你性格不适合、态度不够诚恳等等。但在技术面试过程中,这些都不是最重要的。技术面试的面试官一般都是程序员,程序员通常没有那么多花花肠子,他们只认一个理:题目做
2011-02-21 09:09:00 26990 119
原创 C/C++/C#面试题精选(2)
题目(六):运行下列C++代码,输出什么?struct Point3D{ int x; int y; int z;}; int _tmain(int argc, _TCHAR* argv[]){
2011-02-18 12:32:00 11897 33
原创 C/C++/C#面试题精选(1)
题目(一):C++中我们可以用static修饰一个类的成员函数,也可以用const修饰类的成员函数(写在函数的最后表示不能修改成员变量,不是指写在前面表示返回值为常量)。请问:能不能同时用static和const修饰类的成员函数?分析:答案是不可以。C++编译器在实现cons
2011-02-16 09:33:00 12591 27
原创 面试困惑问与答(1)——“为什么跳槽”
问:每次跳槽的时候,面试官都会问“为什么想跳槽”。请问这个问题该怎么回答?答:每个人都有自己的跳槽动机和原因,因此面试官也不会期待一个标准答案。面试官只是想通过这个问题来了解应聘者的性格。因此应聘者可以大胆地根据自己的真实想法来回答这个问题。但是,应聘者也不是可以想说什么就说
2011-02-12 10:23:00 26615 64
原创 Winforms:TypeConverter.IsValid中的改动
本文讨论了TypeConverter.IsValid在.NET 2.0中不管传入参数始终返回true的原因,以及该方法在.NET 4.0中作的修改。修改之后的TypeConverter.IsValid将判断输入的参数对于转换的目标参数是否有效,只在有效的时候返回true.
2010-06-27 09:58:00 4755 2
原创 Winforms: DataGridView的显示刷新问题
本文分析了DataGridView中在拖动滚动条时出现刷新不及时而不能正常显示的问题的原因,并提出了两种适用不同性能需求的解决方案。
2010-06-13 19:41:00 17549 24
原创 Visual Studio 调试小技巧(2)-从查看窗口得到更多信息
本文详细讲解了如何在查看窗口中显示出可读的消息、句柄返回值和错误代码,以及如何在查看窗口中显示出数组的所有元素值。
2010-06-06 19:12:00 34225 48
原创 Visual Studio 调试小技巧(1)-根据字符串内容添加断点
本文介绍了使用strcmp等函数根据字符串的内容添加条件断点的方法。
2010-06-05 17:19:00 12210 22
原创 Winforms:透明的控件
本文分析了在Winforms中为什么只有Form和ToolStripDropDown有Opcity属性来设置透明度,而其他控件没有。本文接着提供了如何给其他控件设置透明度的一种方法。
2010-05-31 22:15:00 6423
原创 Winforms:Windows 7中Taskbar的新效果(4)——缩略图工具栏
在Win7中,运行Windows Media Player,然后把鼠标移到任务栏(Taskbar)上播放器的按钮上,我们注意到在播放器的缩略图的底部,有一个小的工具栏(Toolbox),上面有三个按钮。如下图所示:点击中间的按钮可以开始播放或者暂停播放,点击最左边的按钮播放上一个音频或者视频,而点击最右边的按钮下一个音频或者视频。
2010-04-11 17:01:00 5020
原创 Visual Studio 2010 IDE中的新功能(2)
四、 自动生成新方法的代码我们通过一个例子来说明VS 2010是如何自动为我们生成新方法的代码。首先,我们在定义方法GetDataFromFile之前,试着去调用这个方法。VS的代码编辑器很快就发现该方法没有声明,因此在该方法的名字下面标出红色波浪线,如下图所示: 我们把光标移到GetDataFromFile中,按下快捷键Ctrl+.(句号),我们发现在弹出的菜单提供了
2010-04-09 21:42:00 3862 4
原创 Visual Studio 2010 IDE中的新功能(1)
已经在使用Visual Studio 2010的用户可能已经发现,最新的VS的IDE有了很大的改动。在最新的IDE中,有很大一部分界面比如代码编辑器是基于微软最新的UI技术WPF。这些改动除了让VS看起来更加漂亮之外,VS 2010的IDE也添加了一些实用的功能。下面简单介绍几个我很喜欢的功能:一、 放大显示代码当我们在用VS 2008演示代码时,如果发现投影出来的代码字体太
2010-04-09 21:19:00 4343 1
原创 Winforms: Windows 7中Taskbar的新效果(3)——进度条
在Win7中,当我们从网上下载一个比较大的文件的时候,我们发现下载对应的窗口在Taskbar上对应的按钮有进度条来显示下载的进展情况。Win7为了方便开发这种新的UI效果,Windows提供了两个API:· void SetProgressValue(IntPtr hwnd, UInt64 ullCompleted, UInt64 ullTotal);· v
2010-03-29 23:30:00 3577 4
原创 Winforms: Windows 7中Taskbar的新效果(2)——Overlay Icon
在Win7中运行MSN,我们发现MSN在Taskbar的按钮上,有一个小图片来显示MSN的状态:绿色表示有空,红色表示忙碌,黄色表示不在,而灰色表示脱机。 为了实现这个效果,Windows提供了一个API SetOverlayIcon。下面将详细介绍使用这个API的步骤。1. 准备三张16×16的icon,颜色分别为红、黄、蓝。把这三张Icon添加
2010-03-28 18:51:00 2992
原创 Winforms: Windows 7中Taskbar的新效果(1)——概述
Win7推出之后,很多用户发现Windows的界面漂亮了很多。在这些界面中,Taskbar是最引人注目的一个更新。在最新的Taskbar中,缩略图能显示更加丰富的信息。右键点击Taskbar上的按钮,弹出的菜单提供了很多选项以方便用户的操作。比如右键单击文件管理器Explorer的按钮,就会在弹出的菜单中列出用户最经常浏览的文件夹。微软在推出新的Taskbar效果的同时,也推出了一系列对应的A
2010-03-28 17:28:00 3021 2
原创 Winforms: PictureBox.Load不能载入GIF图片
一、问题描述当我们用方法PictureBox.Load载入GIF图片时,图片不能正常显示。二、问题重现1. 在Visual Studio中创建一个Winforms工程;2. 在Form1上添加一个按钮;3. 为button1添加Click事件处理器;4. 根据GIF的路径,设置相应的URL,并调用PictureBox.Load
2010-03-20 17:47:00 7004 2
原创 Winforms:Form的最小宽度限制
一、问题描述我们给Form设置一个比较小的宽度,但Form的实际宽度可能会大于我们设置的值。二、问题重现1. 在Win7中,把主题设为一种Aero主题;2. 在Visual Studio中,创建一个Winforms工程;3. 在Form1中,添加一个按钮;4. 双击button1,并为button1添加如下Click事件处理器
2010-03-13 18:38:00 5996 2
《剑指Offer——名企面试官精讲典型编程题》源代码
2011-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人