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.哈西表

猜你喜欢

转载自lvwenwen.iteye.com/blog/1487029