php阅读器 PHP面试题
1、UDP调用connect有什么作用?connect会阻塞,怎么解决?(设置非阻塞,返回之后用select检测状态)
2、socket服务端的实现,什么情况下可读?
3、select和epoll的区别。epoll有
网络编程: 1、UDP调用connect有什么作用?connect会阻塞,怎么解决?(设置非阻塞,返回之后用select检测状态) 2、socket服务端的实现,什么情况下可读? 3、select和epoll的区别。epoll有哪些触发模式,有什么区别?如果select返回可读,结果只读到0字节,是什么情况? 4、大规模连接上来,并发模型怎么设计? 5、什么是滑动窗口? 6、TCP协议和UDP协议有什么区别,请画出TCP三次握手的示意图。TCP连接中,时序图,状态图?TCP头多少字节,有哪些字段? 7、多线程和多进程的区别。 cpu调度,上下文切换,数据共享,多核cpu利用率,资源占用 8、哪些东西是一个线程私有的?(寄存器) 9、keepalive是什么?如何使用? 10、命令:netstat,tcpdump,ipcsphp阅读器,ipcrm 系统设计 1、一个每秒百万级访问量的互联网服务器,每个访问都有数据计算和I/O操作,如果让你设计,你怎么设计? 2、最近总有人骚扰我们的投票模块,需要你来设计一个投票限制的东东。要求如下: 1)要求每个QQ号码(假设此QQ号码在UNIT32内可以表示)10分钟这内只能投5票。 2)我们的用户很踊跃,平均每天要有2000万人左右通过此程序投票。 说明: 1)无需写代码,只需要图跟文字即可。 2)对于关键逻辑,请用图加代码表示出来,这也是对你文字表达能力的一个考验。 3)对你能想到的所有的边界条件列出来,这是对你逻辑思维全面与敏捷性的考验。 4)存储部分,尽你所能吧。如果,你需要一个自己设计的存储层,那么把这个存储层的实现,用文字+图片方式描述清楚,要是设计合理,你会获得华丽的奖分。 3、微信朋友圈如何设计? 1)大数据:微信用户有10亿,如何处理-bitmap。 2) 数据库设计,怎么设计才能达到你发朋友圈别人能看见,屏蔽某人就看不见了。 MySQL 1、数据库如何设计?如何去优化数据库? 2、如何去建立索引?索引的原理是什么? 3、平衡树的原理是什么?为什么这样就是优化的? 4、索引的好处和坏处在哪里。 5、MySQL的InnoDB和MyISAM引擎在使用select count(*)语句时,哪个效率更高,为什么? 6、InnoDB支持行锁,那什么条件下会产生行锁,什么情况下会变成表锁? 7、表Thread(tid,uid,content,createtime),表User(uid,username,password,createtime) 100万用户,500万帖子,一条SQL语句,查出发帖数前10的用户(显示其姓名) 基础知识 input中readonly和disable的区别: 1、 disable:不可获取焦点,且不可编辑; readonly:可获取焦点,但不可编辑。 2、readonly只针对input(text/password)和textarea有效,而disable对于所有的表单元素都有效,包括select,radio,checkbox,button等。 3、表单元素在使用了disable后,但我们将表单以POST或GET的方式提交后,这个元素的值不会被传递出去,而readonly会将该值传递出去 get和post的区别: GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。 1、GET产生一个TCP数据包;POST产生两个TCP数据包: 对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据); 对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。 2、GET在浏览器回退时是无害的,而POST会再次提交请求。 3、GET产生的URL地址可以被Bookmark,而POST不可以。 4、GET请求会被浏览器主动cache,而POST不会,除非手动设置。 5、GET请求只能进行url编码,而POST支持多种编码方式。 6、GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 7、对参数的数据类型,GET只接受ASCII字符,而POST没有限制。 8、GET参数通过URL传递,不安全,所以不能用来传递敏感信息,且长度限制2KB;POST请求参数放在Request body中,较安全,无长度限制(可配置)。 echo与print,var_dump()和print_r()的区别 1.echo 和 print 的区别 共同点:echo 和 print 都不是严格意义上的函数,都是语言结构;都只能输出字符串,整型跟int型浮点型数据。不能打印复合型和资源型数据; 不同点:echo 可以连续输出多个变量,而print只能一次输出一个变量。print打印的值能直接复制给一个变量,如 $a = print “123”; 而echo 不可以,它没有像函数的行为,所以不能用于函数的上下文。在使用时,echo() 函数比print()速度稍快。 2.var_dump()和print_r()的区别 共同点:两者都可以打印数组,对象之类的复合型变量。 不同点:print_r()在打印数组时,会将把数组的指针移到最后边,使用 reset() 可让指针回到开始处。 而var_dump()不但能打印复合类型的数据,还能打印资源类型的变量。且var_dump()输出的信息则比较详细,一般调试时用得多。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |