腾讯公司的PHP面试题,看你能拿多少分
08-8
vs.
if (!isset($foo{5})) { echo “Foo is too short”; }
Calling isset() happens to be faster then strlen() because unlike strlen(), isset() is a language construct and not a function meaning that it’s execution does not require function lookups and lowercase. This means you have virtually no overhead on top of the actual code that determines the string’s length.
本人有个项目使用php+mssql,而mssql只支持gb2312和utf-16编码,而php又要求使用utf-8编码,想到了freetds.而freetds是个在unix下开发的工具,我下载freetds最新版后,发现里边有windows下的编译脚本,在DEV-C++里进行编译后,不支持,后又从鬼子论坛里找到达人编译好的组件,安装配置后,正常,大喜。
; Specify client character set.
; If empty or not set the client charset from freetds.comf is used
; This is only used when compiled with FreeTDS
mssql.charset = “UTF-8″
在php.ini里设置这里,即可让FreeTDS生效。This is only used when compiled with FreeTDS。mssql默认是不支持设置字符集的,只有安装freetds的时候才能生效。
其实,PHP官方早就在系统里留出了freetds的接口,windows下的PHP.INI文件就为freetds留出接口参数。
在linux下,编译php的时候,有这样的日志
configure:68696: checking whether to enable pcntl support
configure:69264: checking whether to enable PDO support
configure:69689: checking for PDO_DBLIB support via FreeTDS
configure:70399: checking for Firebird support for PDO
在linux下,同样为php留出了接口
fastcgi http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
apache2 http://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.gz
mysql5 http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51b.tar.gz/from/http://mysql.mirrors.arminco.com/
php5 http://cn2.php.net/distributions/php-5.2.6.tar.gz
libxml2
gd-jpeg ftp://192.48.96.9/graphics/jpeg/jpegsrc.v6b.tar.gz
freetype http://voxel.dl.sourceforge.net/sourceforge/freetype/freetype-2.3.7.tar.gz
libpng http://voxel.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.29.tar.gz
zend http://www.zend.com/download/55
memcached http://www.danga.com/memcached/dist/memcached-1.2.5.tar.gz
memcache http://pecl.php.net/get/memcache-3.0.1.tgz
libevent http://www.monkey.org/~provos/libevent-1.2a.tar.gz
目前想到的功能大概有这些,想到再加。
目前正在研究每一个组件的性能和参数。
最近总有朋友问我,国内有什么比较简单的PHP书籍,怎么学习PHP,有啥捷径,还有的说,二哥,给个小程序学学……
我一般都会说,没捷径,没好书,想学程序,去下一些外国的开源,比我的好得多。
其实,我也是从问那些问题过来的,不过,我还是想把我的经验分享给大家,希望大家别绕弯子,能走捷径。
学PHP,建议还是有点编程基础,不管是C,VB,VFP。懂点语言基础,就说明能理解一些基本概念。一些函数,变量,逻辑分支,这些是最基础的。有这些基础,再了解B/S结构工作原理,就可以写WEB程序了。
书,我一般当工具书,讲案例的不多,杜江老师那本书凑合,对我来说已经足够,能知道PHP都能干什么,其他的,你可以买本圣经当手册,也可以下个电子版。
程序,建议到站长网或者开源社区下一些小的,学就要学好的,看就要看规范的,看我的只能把你们带坏。先学着改人家的程序,可以改改DEDEcms,可以改一下ECSHOP,可以改改论坛,看看discuz,做个模板等。
看差不多了,可以自己写简单的程序,一般都是留言本(我最近才写过),写个简单的文章发布,足以。
这些都差不多了,可以看一些别人的类库,框架,看看人家是怎么封装一些逻辑过程。
这些你都学差不多了,其实找工作就不难了。别嫌工资少,找个项目,最好能有个好的大哥,拼一段,能力会有很大提高。
作项目,不是单纯做程序,要把一些程序之外的东西揉到程序里,这时候,才是一个有实用价值的程序员。
至于如何提高,我没有啥好的方法。我也不认为我提高多快。我的方法只是:不断敲代码,天天敲代码。
要有高人有啥好的方法,有啥好的课题,可以一起研究。
最近在群里扯淡,好多小鸟提的问题其实很简单,程序本身的报错机制就能告诉你错误。现在列出所有能给你提示的方法.
这两条是程序有硬伤的时候,直接报出来。如果逻辑上的错误,咋调呢?我的方法比较奔,但的确有效。
这是程序差错的方法。mysql就更简单了,把你认为有错误的sql语句echo出来,放到phpmyadmin里去执行,看那个报错就行了。
最后一点:下载个星际译王,当然是指英文不太利索的。
Web Service简介
最近写一个认证服务器,需要进行不同程序,不同数据库之间的数据交换,认证服务器提供认证功能,而客户端可能是多种语言开发的。如果实用传统的方式,比如C,或者java开发一个稳定的服务端,人力精力都是问题,只能寻求一种简单的方式进行过渡。
这里我选择了Web Service这种方式,但这种方式也存在一定问题:速度。网上普遍反映速度是问题,soap的方式本身负载是问题,实用xmlrpc,http方式,瓶颈在于webserver的负载能力。但是项目发展初期,此方式完全能满足一段时间,而这段时间我们也能平滑过渡,留出时间进行更深层次的研究。
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
|---|---|---|---|---|---|---|
| « 一 | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||