腾讯一面反思

以下是我遇到的卡壳的问题

1.post和get的区别,这个是很常见的问题,然后讨论到get方法的长度限制,这里就有些模模糊糊了,大约记得是不同浏览器有不同表现,大约4K左右,下面就是对各种浏览器和服务器的最大处理能力做一些说明.

IE

IE浏览器(Microsoft Internet Explorer) 对url长度限制是2083(2K+53),超过这个限制,则自动截断(若是form提交则提交按钮不起作用)。

firefox

firefox(火狐浏览器)的url长度限制为 65 536字符,但实际上有效的URL最大长度不少于100,000个字符

Chorme

chrome(谷歌)的url长度限制超过8182个字符返回本文开头时列出的错误。

Safari

Safari的url长度限制至少为 80 000 字符。

Opera

Opera 浏览器的url长度限制为190 000 字符。Opera 9 地址栏中输入190 000字符时依然能正常编辑。

面试官换了一个提法,文件上传用的是get方法还是post方法,结果就懵了。。只想到了ftp,后来一想这不废话吗都说了post方法长度无限制当然是post啦,但是当时脑筋没转过来。。事实证明看书强记的东西总是死的,只有在实践的基础上理解了才是真正学会了。

2.php中,session生命周期的控制(具体问题是如何设置session的过期时间)

session在客户端的标识使用cookie实现的,要设置session的过期时间首先要讨论对cookie的管理

php中使用setcookie('name','value','expire','path,'domain','secure','httponly')来管理cookie

name,key为键值对,expire为时间戳,path,domain为域名和路径,secure表示是否只在https传输下才传送,httponly表示是否只有服务器才能访问cookie

当然也能用header('Set-cookie: name=value; ...')的方式设置cookie(注意必须在任何其他header之前发送)

调用setcookie也可以将cookie的有效期设为一个已过期时间,从而达到删除cookie的目的

session在客户端的标识是name=sessionID的cookie,因此可以通过修改这个cookie的有效期来实现设置session的过期时间,具体调用方法是session_set_cookie_params()

($_SESSION = array() 与 session_destroy有本质区别,顺便一提,此处留意)

3.php中的魔术变量和魔术函数

这道题开口我就跪了,根本不清楚!后悔自己没好好学php,顺带一提 敢写在简历上的东西你一定要很熟悉,面试官真的会很在乎你的简历,会根据你的简历来提问。

点击打开链接 附带介绍魔术函数的链接

4.时间戳

面试官又讲了一道题:用php,给定一个时间,求出现在距离该时间过去了多少天。

这道题本身很简单,思路就是将两个时间戳相减后计算得出,讲完思路面试官叫我写出来,我就emmmm了,以前这种情况一般我都会上php官网手册上找API 。。这个故事告诉我们要多写代码,最好手写别用提示。。

PHP中对日期进行处理常用的几个函数如下:

  • date(): 把时间戳格式化为更易读的日期和时间
  • time(): 获取当前 Unix 时间戳
  • strtotime(): 将表示时间和日期的字符串转化为相应的时间戳
  • mktime(): 创建日期




猜你喜欢

转载自blog.csdn.net/weixin_39181833/article/details/79913748