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. 实际的问题?

B实习面试的更多相关文章

  1. 我的美国(北美)计算机CS实习面试经验分享

    过去的一年多里,参加了一些面试,虽然面过的公司不多,但都从头一直走到尾.毕竟自己也是花了大量的时间和精力在这一场场的面试里.所以,就絮叨下自己的一些经验,希望能给在美国找实习找工作的同学们提供一点点帮 ...

  2. 2016/4/14腾讯Android实习面试

    腾讯实习面试,面试官会先问你会什么,擅长什么.然后会依照这个问,问的也不是非常偏,问道你不会的就换下一个知识点. 主要问我的有这几个问题 图形学 1.Bizer曲线怎么绘制的.原理是什么 2.对栅格有 ...

  3. 阿里钉钉Android实习面试也太太太太难了吧,对算法的要求堪比字节

    本人研究生在读,在2月26日找了师兄内推阿里钉钉团队,28号接到了约1面的电话.幸好我提前准备了一个多月的样子,刷面试题.刷LeetCode(面了之后才觉得自己刷少了),对于我这样一个实习生来说题目还 ...

  4. Google实习面试归来

    咱们寝室共有两个人收到面试通知,我和另一哥们G.      今天早上8:30起了个大早,洗漱完毕,简历复印完毕,就和G骑车到达了世贸中   心酒店那儿.真不愧是世贸中心啊,装修就是华丽,连看门的都是印 ...

  5. 最近找java实习面试被问到的东西总结(Java方向)

    时间,就是这么很悄悄的溜走了将近两个年华,不知不觉的,研二了,作为一个一般学校的研究生,不知道该说自己是不学无术,还是说有过努力,反正,这两年里,有过坚持,有过堕落,这不,突然间,有种开窍的急迫感,寻 ...

  6. 途牛java实习面试(失败)

    一进去让自己介绍.简单介绍了一下.然后让我自己说说框架.问题太大一紧张卡住了. 然后面试官开始问,让我介绍多线程,我就简单介绍了多线程.然后问我有没有做过多线程的项目,我说没有. 问了MySQL的锁和 ...

  7. 美团Java实习面试经历(拿到Offer)

      美团我是在拉勾网上投的简历,之前也投过一次,简历都没通过删选,后来让学姐帮我改了一下简历,重新投另一个部门,获得了面试机会.10月23日中午HR打电话过来预约了下午4点半面试,说会在线写代码,让我 ...

  8. 算法寒假实习面试经过之 十一贝(offer) 联想研究院(电话一面 被拒)

    联想研究院 1面 自我介绍 聊比赛,讲了讲jdd的. 感觉都快要背过了... 之前重复的问题就不说了,说一下印象比较深的 adaboost 与gbdt的区别 随机森林,如果有t个特征,n个树,每个树深 ...

  9. 绿盟python测试实习面试

    1.简历问题 低级错误:时间写错 最近好像越来越马大哈了,总是犯低级错误. 上次的开题报告首页,这次的时间,每次都有小问题,确是大毛病 到底哪里出错了 2 RHCE证书好像没有用 面试官根本就不懂这个 ...

  10. 2019腾讯暑期实习面试(offer)前端

    最近在忙着准备找实习,所以没有更新之前的文章. 不过所幸功夫不负有心人,我拿到了腾讯的offer. 这里分享一下面试的经验. 简介 本人双非本科,普通学生一枚. 面的是腾讯的Web前端开发. 整个面试 ...

随机推荐

  1. POJ1325 Machine Schedule 【二分图最小顶点覆盖】

    Machine Schedule Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11958   Accepted: 5094 ...

  2. sessionStorage和localStorage之间的差别

    <!DOCTYPE html><html> <head lang="en"> <meta charset="utf-8" ...

  3. 多线程11_张孝祥 java5的线程锁技术

    本例子因为两个线程公用同线程中,使用同一个对象,实现了他们公用一把锁,实现了同一个方法的互斥. package locks; /** *会被打乱的效果 */ public class LockTest ...

  4. OC中的一个特性:延展

    OC中的一个特性:延展其实说白了,延展就是弥补C语言中的前向申明,我们知道,在C语言中,如果你想调用一个函数的话,那么在此之前必须要声明一个这个函数,就是有前置性.OC中为了弥补C语言中的这个问题,就 ...

  5. redis 错误。

    MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Com ...

  6. MySql数据库root密码修改

    方法一: 在my.ini的[mysqld]字段加入:skip-grant-tables重启mysql服务,这时的mysql不需要密码即可登录数据库 然后进入mysqlmysql>use mysq ...

  7. MVC入门

    MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C 则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如一批统计数据可以分别用柱状图.饼图 ...

  8. linux----定义命令别名

    1.定义命令别名的语法: alias nickName='command'#用于定义. unalias  nickName#用于撤消一个别名的定义. 如:alias cls='clear' 2.应该要 ...

  9. 运行预构建 Linux 映像的 Windows Azure 虚拟机中的交换空间 – 第 1 部分

    本文章由 Azure CAT 团队的 Piyush Ranjan (MSFT) 撰写. 随着基础结构服务(虚拟机和虚拟网络)近期在 Windows Azure 上正式发布,越来越多的企业工作负荷正在向 ...

  10. iOS中的retainCount

    我们都知道iOS中采用引用计数的技术来管理内存,当一个对象没有任何一个地方引用的时候会自动释放,此时的retainCount为0,而且提供了一个-(NSInteger)retainCount的方法来获 ...