1. 多态和继承关系,继承的几种实现机制?
实现多态,有二种方式,覆盖,重载。
覆盖,是指子类重新定义父类的虚函数的做法。
重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或 许参数类型不同,或许两者都不同)。
面向过程中也有重载的概念,重载和多态无关!真正和多态相关的是“覆盖”。
2. 面向对象的3个特征? 封装、继承、多态
封装可以隐藏实现细节,使得代码模块化;
继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。
而多态则是为了实现另一个目的——接口重用!
3. display属性,标签的选定方法
4. 如果快速找出 重复数目 超过1/2的那个重复元素?
5. 设计一个架构,实现2个日志系统的记录匹配,如果有相同时间点信息对比显示,否则不对比
6. 项目中主要做了重构?
7. Slim框架和smarty模板的介绍
8. 面向过程与面向对象的理解?
9. PHP是动态的脚本语言怎么解释?
不需要编译,直接执行
动态脚本语言的优缺点?
10. 如何优化首次加载数据表慢的问题,有哪些可能影响因素?
11. PHP和JSP开发的比较,有哪些优缺点?
中小型应用PHP是首选;大型商业应用JSP是首选
PHP容易上手
PHP数据库访问不一致,更换数据库需要改写代码。JSP数据库接口较一致。
PHP只能实现二三层的分布式架构,而java可以实现多层的网络架构
PHP源代码完全公开比较不安全,而java的第三方类库只有class文件,没有源代码,相对更安全。
PHP的代码可复用性低,可扩展性差。
参考:http://www.e800.com.cn/articles/2012/0607/510399.shtml
12. 对大型网站的架构是否有了解?
13. 对大数据怎么处理?
14. 数据库优化时主要考虑哪些因素?
15. 遇到过哪些比较大的问题?
16. 为什么离开实习?
17. 时间问题?
18. 为什么不做测试?
19. 多线程和多进程比较?
20. Ngnix和Apache比较?
Nginx相对于Apache:
1、高并发响应性能非常好。(单台万级并发连接30000-50000/s(简单静态页))
2、反向代理性能非常好。(可用于负载均衡)
3、内存和cpu占用率低。(为Apache的1/5-1/10)
4、功能较Apache少(常用功能均有)
5、对php可使用cgi方式和fastcgi方式,没有模块编译加载方式。
有人通过两者的性能测试比较(点击查看apache和nginx性能比较),得出结论:nginx作单纯的WEB服务器,也就是放静态内容,性能上比Apache要好,特别可承受压力、带宽及资源消耗上都要优于Apache。
server | Apache | Nginx | Lighttpd |
Proxy代理 | 非常好 | 非常好 | 一般 |
Rewriter | 好 | 非常好 | 一般 |
Fcgi | 不好 | 好 | 非常好 |
热部署 | 不支持 | 支持 | 不支持 |
系统压力比较 | 很大 | 很小 | 比较小 |
稳定性 | 好 | 非常好 | 不好 |
安全性 | 好 | 一般 | 一般 |
技术支持 | 非常好 | 很少 | 一般 |
静态文件处理 | 一般 | 非常好 | 好 |
Vhosts虚拟主机 | 支持 | 不支持 | 支持 |
反向代理 | 一般 | 非常好 | 一般 |
Session sticky | 支持 | 不支持 | 不支持 |
基于多进程和基于多线程服务器的优缺点及nginx服务器的启动过程
优点 | 缺点 | |
基于多线程web服务器 | 1.对内存的消耗小 线程之间共享整个应用环境,每个线程栈都比较小,一般不到1M 2.cpu上下文切换比较快 3.io的并发能力强 javaVM可以轻松维护几百个并发线程切换开销,远高于多进程几十个并发进程的处理能力 4.有效利用多核cpu进行并行计算 | 1.不方便操作系统的管理 2.VM对内存的管理要求非常高,GC的策略会影响多线程并发能力和系统吞吐量 3.由于存在对共享资源操作,一旦出现线程"死锁"和线程阻塞,很容易使整个应用失去可用性 |
基于多进程的web服务器 | 1.由操作系统进行调度,运行比较稳定强壮 2.能够方便地通过操作系统进行监控 3.隔离性好 一个进程出现问题只有杀掉它重启就可以,不影响整体服务的可用性。很容易实现在线热部署和无缝升级。不需要考虑线程安全问题 4.充分利用多核cpu,实现并行处理 | 1.内存消耗比较大,每个进程都独立加载完整的应用环境 2.cpu消耗偏高,高并发下,进程之间频繁进行上下文切换,需要大量的内存换页操作 3.很低的io并发处理能力,只适合处理短请求,不适合处理长请求 |
21. 实时搜索的实现核心?去哪儿网举例
22. 爬楼梯解决方案的问题?
23. 数据结构?
24. 相关课程?
25. 实际的问题?