技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

2013年9月22日 #

代码抽象层次2

摘要: 看了kent的实现模式,对代码抽象层次有了一点理解,kent首先问了一个问题,下面的代码有神马问题?void compute(){ int flag = input(); flag |= 1; output(flag);}粗看来没有,但其实不然,但其实,input和output已经是高层抽象了,例如你并不知道输入来自于何方,到底是键盘输入呢,还是文件输入,又或者是网络输入,同样output也是如此,但是中间设置flag的语句则是一个低层抽象,如果整个函数都是低层抽象,代码应该是这样:void compute(){ extern char *s; int fl... 阅读全文

posted @ 2013-09-22 13:20 codestyle 阅读(252) 评论(0) 推荐(0)

chinaunix:腾讯面试题

摘要: 腾讯电商面试回来,发现我太菜了,缺乏技术深度。笔试题感觉不难,但是做了之后总是发觉少点什么东西,深度!这是这场面试总结出来的。凭记忆分享下笔试,面试题。大家一起解决,然后分享下该看什么书,可以解决这些“深度”问题。1.内存池算法。我就把前段时间看到的tcmalloc实现大概写了一遍。Q:malloc怎么实现的?A:通过brk,sbrk实现的。Q:sbrk,brk怎么实现的?sbrk,brk怎么由内核态切换到系统(用户?)态的?2.怎么定位内存泄露?我写的是:1.使用valgrind --这个东西从来没用过2.mtrace3.封装malloc,free函数的宏5./proc/$pid/下的内存. 阅读全文

posted @ 2013-09-22 09:32 codestyle 阅读(398) 评论(0) 推荐(0)