java高新技术
集群的时候缓存有几种方式,2W人在线的系统,应该如何J2EE架构,从哪些方面优化..
你能做
分模块部署系统吗.你知道nfs在集群部署会产生什么问题吗
哥就靠editplus直接写几万行的
JS应用.
你做过几个几百万的项目,线程并发库
二叉树 递归 过滤重复的SQL
1. 哪些情况会引起线程等待和阻塞?然后引伸更多的线程有关主题的讨论。比如线程与连接,线程池,自旋锁,偏向锁,并行计算等等。
2. 那些因素可能会出现数据不一致现象?然后把话题引伸到事务管理,缓存策略和数据同步相关的讨论。
3. 系统出现问题你一般是如何做检查的?然后把话题引伸到系统运行通常会遇到那些问题,如何尽量避免这些问题?
4. 你通常用哪些方法来进行系统性能调优?你做过的系统里,遇到过哪些性能问题,你是如何试图去寻找解决方案的?
5. 讲一下对象生命周期的过程和对象复制过程?然后引伸到面对对象设计的讨论。
6. 如果要让你来设计一种网络通信协议,你会考虑哪些因素?.....
7. 叙述一下javascript 对象的继承原理。......
8. IE 和 Firefox捕获事件机制有什么不一样?......
9. CSS 对div 几种定位的区别及应用场合?......
10. 在你工作中常用到哪些linux命令?通常你写shell脚本主要是解决哪些问题?
通常调整哪些系统参数能影响系统性能?......
11. 在你做过的系统里,哪些类型的bug较多?软件过程中哪些阶段引起的bug较多?.....
我一般面试中高级开发测试架构,
从简历入手,挑他做过的比较重要的两三个项目,
问实际的问题,用到的技术,解决的方法,考虑的思路,最后的结果。
==============>> 开发能力
再问他技能列表里最擅长的一两个技术,从浅到深,一点点问,
看他积累和思考的程度。
==============>> 技术潜力
前端最关键的就是用户体验和如何性能调优,前者主要是UI设计能力,后者主要靠一些技术手段
支持,比如说CSS sprite,js压缩,客户端缓存等。 当然后端的性能也是必须要保证的。
互联网公司真的是不一样啊,对并发和大数据量的关注是深入骨髓的。感觉真是惭愧。虽然这几年跑客户谈需求讲ppt自诩也是混场面的,但是从心里希望自己在技术上也能再往前走一步。
根据记忆整理如下:
1.有一个集合a,里面有n个正整数,乱序排列。给定一个正整数N,求,a中任意两个数相加等于N,共有哪些种组合情况。例如,集合为{1,3,44,2,4,5,54,222,368} N=6,则结果集为{1,5},{2,4}
这个题网上有类似的
2. Treemap的实现。
各种集合类的结构和优缺点,大家都挺爱考的。以前做行业信息化,没什么感觉,但是如果很在意性能,搞清楚还是挺有用的。
3.有两个很大的文件,每个文件中都有1亿行,每行一个整数。问这两个集合的交集是什么。给定的前提是机器内存不足以完全装入任意一个文件。
这个几乎是网上的原题了
4. 堆和栈的定义,堆和栈里面的对象,哪个运行速度快。
还问了一些衍生的问题,记不清了,只要看清楚java教材关于这方面的介绍足矣
5.为了实现一个折线图,需要将数据存入一种数据结构,折线图横坐标是时间,纵坐标是值,经常的查询是按时间段进行查询,如select value from t where begin>’20110101’ and end<’20111212’ ,问,使用java中的那种数据结构比较好。
还是考java中的各种集合类,本质上是问各种数据结构在顺序/随机的读取/插入上的效率
6.数据库的索引通常用什么数据结构实现?为什么用这种数据结构。
就知道是btree,但是btree是咋回事,为啥不能用其他tree或者别的结构,这个看过一篇帖子以后才明白。算是学习了。
7.如果数据库中有2个表,表a字段为姓名、年龄,表b字段为姓名、单位。现在使用姓名字段做left join查询,假设姓名字段都有索引了。问数据库是怎么实现的。如果把这两个表看为在内存中的数组,要自己实现left join,怎么实现?
面试官看我实在不知道数据库里leftjoin怎么实现的,就让我自己实现一个内存中的,勉强答出来了吧,但是可能不太好。
8.数据库各种事务隔离级别
这个是纯不记得了,以前工作中从来用不到,真是汗颜。
9. wait()方法和notify()方法干什么用的,wait()方法有什么使用限制,是哪儿都能用么?
对于一个从来不用多线程的人,这么简单的问题也变得有点儿难。只知道干什么用的,不知道有什么限制。
10. 数据库中有一个表有上亿的数据量,怎么优化?(主要是拆分,除了按业务拆分外,还有什么从技术角度的,可扩展性好的水平拆分方式)
思路是拆没错,但是面试官问的不是业务拆分策略,而是从技术上考虑。还得考虑扩展性,比如拆好以后,数据量增长迅速,又要拆了,怎么办。这个水平拆分策略有好多,网上能搜到。但是我说的都不是很有体系,以前没弄过,都是现场想。。
ps:当时上新东方的时候,老师说,有的时候虽然你英语不好,但是有几个单词只要你记住了,说的时候塞到句子里,人家就会觉得你特地道,比如absolutely之流。我觉得面试的时候也有这种key words,比如位排序之流,说的时候还得特举重若轻。适用于各类新手和平时工作中压根用不到各种排序算法的人,仅供参考。
java 数据结构
1.线性表
2.堆栈和队列
3.串
4.数组.集合.矩阵
5.递归算法
7.树和二叉树
8.图
9.排序
10.查找
11.哈西表