面试题:3年工作经验 !=!=未看 1

一轮面试下来,由最初的自信什么都能做,到现在感觉什么都不会做;但是面对面试官,却更坦然。

对自己还能记得起来的面试题,稍微整理一下。欢迎指正。

private、默认、protected、public作用范围
1)private,同类
2)默认,同类、同包
3)protected,同类,同包,子类
4)public,所有

String trim的实现原理
去掉首尾ASCII码值小于‘ ‘(空格)的字符

StringBuffer、StringBuilder区别
StringBuffer线程安全
StringBuilder线程不安全

抽象类与接口的异同
同:具有抽象方法
异:1)抽象类可以有构造器,非抽象方法,非公有属性,仅可以单继承抽象类
      2)接口仅有公有抽象方法或者公有静态常量,可以同时实现多个接口
个人使用经验:一般在控制层使用抽象类,提取公共初始化方法、框架定制化工具方法等
一般会在业务层使用接口

List、Set、Collections区别
1)List,有序可重复
2)Set, 无序不可重复
3)Collections,集合工具类

列举键值容器
1)HashMap,实现Map,异步
2)Hashtable,实现Map,同时继承旧的Dictionary类,同步
3)Properties,Hashtable的子类,系统参数

算法:快速排序

    public static void quickSort(int a[], int start, int end) {
        int i, j;
        i = start;
        j = end;
        if ((a == null) || (a.length == 0))
            return;   

        while (i < j) {//查找基准点下标
            while (i < j && a[i] <= a[j])
                // 以数组start下标的数据为key,右侧扫描
                j--;
            if (i < j) { // 右侧扫描,找出第一个比key小的,交换位置
                int temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }
            while (i < j && a[i] < a[j])
                // 左侧扫描(此时a[j]中存储着key值)
                i++;
            if (i < j) { // 找出第一个比key大的,交换位置
                int temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }
        }
        if (i - start > 1) { // 递归调用,把key前面的完成排序
             quickSort(a, start, i - 1);
        }
        if (end - j > 1) {
            quickSort(a, j + 1, end); // 递归调用,把key后面的完成排序
        }
    }  

inner join、left join、 right join区别
1)inner join,两表字段值相同
2)left join,两表字段值相同,以及左表字段有值,右表字段值为null
3)right join,与上相反

需要写sql的试题
一般会让查出值是最大的,用到子查询、组函数等
Reads(id, ip, cnt) ip不唯一,查出访问量最大的前10个ip并排序
select r.ip, r.s, rownum from (select ip, sum(cnt) s from reads group by ip order by s desc) r where r.rownum <= 10

数据库性能调优
1)经常做查询条件的字段建立序列
2)关联查询时,关联结果集,替代直接关联整张表;或者使用exists

jsp表单js校验
var name = document.getElementById(‘userName‘).value;
if (name == ‘‘)
{
alert(‘用户名不能为空‘);
return false;
}

Struts的Action是单例吗
1)Struts1的Action是单例且线程安全
2)Struts2的Action不是单例,针对每一请求产生一个实例

Hibernate与Mybatis区别
1)Hibernate,使用pojo实现orm,查询速度相比较慢,插入/更新开发容易
2)Mybaits,使用纯sql开发,执行效率较快,比较适合统计、多表关联查询

Hibernate状态
瞬时态:new对象
持久态:实例与数据库中记录对应,拥有持久化标识
游离态:session关闭;session打开,游离态转成持久态

ibatis中#与$的区别
1)#,变量替换,即prepareStament设置字段值,并可以匹配变量类型
2)$,字符串拼接,需要小心依赖注入

事务特性
1)原子性:诸多操作要么全做,要么全不做
2)一致性:事务执行结果使数据库从一个一致性状态变到另一个一致性状态
3)隔离性:事务执行不被其他事务影响
4)持久性:一旦提交,对数据库的改变是永久性的

spring mvc与struts2的区别
1)struts2封装展示层与控制层,展示层提供标签库及验证器,请求与应答需要配置文件
2)spring mvc是单纯的控制层框架,url实现零配置,运行效率提高

Spring IOC注入方式
1)配置文件中,配置属性,提供setter/getter方法
2)零配置,@Autowired,统一配置根据名称或者类型注入

Spring AOP思想
针对请求做统一预处理,如有效性校验;或后处理,如记录处理结果;针对方法加before或after处理

Spring事务配置
1)使用tx:advice,针对业务接口层,如以do、get等命名的方法,作事务配置

WebService技术
1)axis、xfire、cxf,基于soap,传输xml
2)restful风格

jvm性能调优
tomcat性能调优

原文地址:https://www.cnblogs.com/shan1393/p/9017497.html

时间: 2024-08-22 02:30:10

面试题:3年工作经验 !=!=未看 1的相关文章

面试题:3年工作经验 !=!=未看

此内容偏中高级,适合有三年经验者. 1.       java中wait和sleep有什么区别?多线程条件下如何保证数据安全? 答:最大区别是等待时wait会释放锁,而sleep会一直持有锁,wait通常用于线程时交,互,sleep通常被用于暂停执行. 2.       java中volatile和synchronized有什么区别? 1.volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取:synchronized则是锁定当前变量,只有当前线程可以访

面试题:项目经验 !=!=未看

项目经验 面试官在一开始会让你进行自我介绍,主要是想让你介绍一下自己做过的一些项目,看看你对这些项目的了解程度,因为很多人简历上写的项目并非都是从头到尾都参与的,有些只是参与并实现了其中的一些模块而已,或是接手维护别人的项目,所以在你简历上所写的和面试过程中所说的项目经验,你自己必须能够了解来龙去脉,因为面试官肯定会根据你的项目描述,对项目中的实现原理,或为什么要这样实现进行提问,这时不至于木讷住而不知如何作答,如此局面只会大大降低面试分. 场景对话: 面试官:(拿着简历)讲讲你最近做的这个项目

面试题: 数据库笔试 sql操作 未看5

2018/5/31 oracle数据库面试笔试试题总结http://www.yjbys.com/qiuzhizhinan/show-308759.html 1/4Oracle数据库1.基础测试选择在部门 30 中员工的所有信息Select * from emp where deptno=30;列出职位为(MANAGER)的员工的编号,姓名Select empno,ename from emp where job = ?Manager ?;找出奖金高于工资的员工Select * from emp

面试题:java面试基本方向 !=!=未看

一.Java基础 1. 集合框架A)集合中泛型优点? 1)HashMap---允许一个键为null,允许多个值为null,默认容量是16,加载因子是0.75f,每次扩容一倍,是一种异步式线程不安全的映射.2)Hashtable---不允许键值为null,默认初始容量是11,加载因子是0.75f,是一种同步式线程安全的映射(一个Hashtable在同一时间只能被一个线程访问).3)ConcurrentHashMap---异步式线程安全的映射(一个线程在同一时间只能访问该Map中的一个键值对,不同线

一年iOS工作经验,如何一举拿下百度、美团、快手等Offer面经(附面试题)

先简单说说我最近的面试经历吧.面试的公司很多,大部分最后都能得到令人满意的结果,我将这些体会记录下来,面了这么多公司,如果不留下什么,那岂不是太浪费了.对于我来说,这也是一次自我检查,在这次面试中总结经验,认清自己,同时希望这些对即将换工作或者打算看看其他机会的你有一些帮助. 关注作者其他文章,可以找到大神交流总部(其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,不管你是小白还是大牛欢迎入驻,大家一起交流学习) 以下的部分有具体的面试经历,也有自己的一些总结面试必备技能和自己的一些感

面试题:大公司面试题 !=!=未看

作者:Xoper.ducky链接:https://www.nowcoder.com/discuss/3043?type=2&order=0&pos=5&page=2来源:牛客网 之前实习的时候就想着写一篇面经,后来忙就给忘了,现在找完工作了,也是该静下心总结一下走过的路程了,我全盘托出,奉上这篇诚意之作,希望能给未来找工作的人一点指引和总结, 也希望能使大家少走点弯路 , 如果能耐心读完,相信对你会找到你需要的东西. 先说一下LZ的基本情况,LZ是四川某985学校通信专业的研究生(

Java后端程序员1年工作经验总结

java后端1年经验和技术总结(1) 1.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护和发布当救火队员的苦恼.遂决定梳理一下自己所学的东西,为大家分享一下. 经过一年意识到以前也有很多认识误区,比如: 偏爱收集,经常收集各种资料视频塞满一个个硬盘,然后心满意足的看着容量不行动. 不重基础,总觉得很多基础东西不需要再看了,其实不懂的地方很多,计算机程序方面任何一个结果都必有原因

2年Java开发工作经验面试总结

最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪个知识点今天又问了等等.四月中旬的时候,我就在构思要写一篇面经,主要是想着可能对那些跟我相同处境的人有点帮助,再者就是稍微记录下这为期一个月的面试过程. 个人介绍: 首先介绍下我面试时的自身条件情况,我把自己的情况分为优势和劣势来说可能更有利于你们比较自身情况. 劣势: 1.15年7月毕业后开始到上

Android2017最新面试题(3-5年经验个人面试经历)

2017最新Android面试题 大家好,在跟大家讲述自己的面试经历,以及遇到的面试题前,先说说几句题外话. 接触Android已经3年,在工作中遇到疑难问题总是在网上(csdn大牛博客,stackoverflow等)搜索答案,各位大牛大神总是把自己的经验分享出来,帮助我们这些需要帮助的人,由此表示衷心感谢!然而现在自己细想了一下,自己也是时候把遇到的问题并把解决方案分享出来,希望能帮助到有需要的人. 随着时间的流逝,很多人说互联网这一块已经越来越不好干了,因为烧钱时代已经过去,剩下的都是根基牢