B实习面试
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实习面试的更多相关文章
- 我的美国(北美)计算机CS实习面试经验分享
过去的一年多里,参加了一些面试,虽然面过的公司不多,但都从头一直走到尾.毕竟自己也是花了大量的时间和精力在这一场场的面试里.所以,就絮叨下自己的一些经验,希望能给在美国找实习找工作的同学们提供一点点帮 ...
- 2016/4/14腾讯Android实习面试
腾讯实习面试,面试官会先问你会什么,擅长什么.然后会依照这个问,问的也不是非常偏,问道你不会的就换下一个知识点. 主要问我的有这几个问题 图形学 1.Bizer曲线怎么绘制的.原理是什么 2.对栅格有 ...
- 阿里钉钉Android实习面试也太太太太难了吧,对算法的要求堪比字节
本人研究生在读,在2月26日找了师兄内推阿里钉钉团队,28号接到了约1面的电话.幸好我提前准备了一个多月的样子,刷面试题.刷LeetCode(面了之后才觉得自己刷少了),对于我这样一个实习生来说题目还 ...
- Google实习面试归来
咱们寝室共有两个人收到面试通知,我和另一哥们G. 今天早上8:30起了个大早,洗漱完毕,简历复印完毕,就和G骑车到达了世贸中 心酒店那儿.真不愧是世贸中心啊,装修就是华丽,连看门的都是印 ...
- 最近找java实习面试被问到的东西总结(Java方向)
时间,就是这么很悄悄的溜走了将近两个年华,不知不觉的,研二了,作为一个一般学校的研究生,不知道该说自己是不学无术,还是说有过努力,反正,这两年里,有过坚持,有过堕落,这不,突然间,有种开窍的急迫感,寻 ...
- 途牛java实习面试(失败)
一进去让自己介绍.简单介绍了一下.然后让我自己说说框架.问题太大一紧张卡住了. 然后面试官开始问,让我介绍多线程,我就简单介绍了多线程.然后问我有没有做过多线程的项目,我说没有. 问了MySQL的锁和 ...
- 美团Java实习面试经历(拿到Offer)
美团我是在拉勾网上投的简历,之前也投过一次,简历都没通过删选,后来让学姐帮我改了一下简历,重新投另一个部门,获得了面试机会.10月23日中午HR打电话过来预约了下午4点半面试,说会在线写代码,让我 ...
- 算法寒假实习面试经过之 十一贝(offer) 联想研究院(电话一面 被拒)
联想研究院 1面 自我介绍 聊比赛,讲了讲jdd的. 感觉都快要背过了... 之前重复的问题就不说了,说一下印象比较深的 adaboost 与gbdt的区别 随机森林,如果有t个特征,n个树,每个树深 ...
- 绿盟python测试实习面试
1.简历问题 低级错误:时间写错 最近好像越来越马大哈了,总是犯低级错误. 上次的开题报告首页,这次的时间,每次都有小问题,确是大毛病 到底哪里出错了 2 RHCE证书好像没有用 面试官根本就不懂这个 ...
- 2019腾讯暑期实习面试(offer)前端
最近在忙着准备找实习,所以没有更新之前的文章. 不过所幸功夫不负有心人,我拿到了腾讯的offer. 这里分享一下面试的经验. 简介 本人双非本科,普通学生一枚. 面的是腾讯的Web前端开发. 整个面试 ...
随机推荐
- POJ1325 Machine Schedule 【二分图最小顶点覆盖】
Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11958 Accepted: 5094 ...
- sessionStorage和localStorage之间的差别
<!DOCTYPE html><html> <head lang="en"> <meta charset="utf-8" ...
- 多线程11_张孝祥 java5的线程锁技术
本例子因为两个线程公用同线程中,使用同一个对象,实现了他们公用一把锁,实现了同一个方法的互斥. package locks; /** *会被打乱的效果 */ public class LockTest ...
- OC中的一个特性:延展
OC中的一个特性:延展其实说白了,延展就是弥补C语言中的前向申明,我们知道,在C语言中,如果你想调用一个函数的话,那么在此之前必须要声明一个这个函数,就是有前置性.OC中为了弥补C语言中的这个问题,就 ...
- redis 错误。
MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Com ...
- MySql数据库root密码修改
方法一: 在my.ini的[mysqld]字段加入:skip-grant-tables重启mysql服务,这时的mysql不需要密码即可登录数据库 然后进入mysqlmysql>use mysq ...
- MVC入门
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C 则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如一批统计数据可以分别用柱状图.饼图 ...
- linux----定义命令别名
1.定义命令别名的语法: alias nickName='command'#用于定义. unalias nickName#用于撤消一个别名的定义. 如:alias cls='clear' 2.应该要 ...
- 运行预构建 Linux 映像的 Windows Azure 虚拟机中的交换空间 – 第 1 部分
本文章由 Azure CAT 团队的 Piyush Ranjan (MSFT) 撰写. 随着基础结构服务(虚拟机和虚拟网络)近期在 Windows Azure 上正式发布,越来越多的企业工作负荷正在向 ...
- iOS中的retainCount
我们都知道iOS中采用引用计数的技术来管理内存,当一个对象没有任何一个地方引用的时候会自动释放,此时的retainCount为0,而且提供了一个-(NSInteger)retainCount的方法来获 ...