20170611

来源:互联网 发布:mfc socket编程实例 编辑:程序博客网 时间:2024/06/05 03:26

1 第三章 spring 高级装配
本章内容:spring profile
条件化的bean声明
自动装配与歧义性
bean的作用域
spring表达式语言
3.1 环境与profile
迁移环境时,数据库配置,加密算法,与外部系统的集成等会发生相应变化

2三年开发面试感悟总结
1面试主要关注几点
①项目经验
我们大部分都是做一个产品的部分模块,即使这样,也要
1把系统整个架构搞清楚,明确系统是做什么的,有哪些功能
2为什么做这个系统?这个系统价值在哪里?
3优缺点有哪些
4如果让你重新设计系统,你要怎么做
5明确你做的部分,所处的位置和作用
6明确系统用到了哪些技术
7谈谈你在项目中遇到过什么问题

②基本技术    1 static,final,transient,viotile等关键字    2 foreach原理    3集合 arraylist linkedlist hashtable hashmap   hashset    4concurrenthashmap 几点方向        1)锁分段技术        2)读是否要加锁        3)迭代器是强一致性的还是弱一致性的    5设计模式    (1)你的项目中用到了哪些设计模式,如何使用      6多线程,线程池 syncronized和reentrantlock区别 CountDownLatch     syncronized锁普通方法和静态方法,死锁的原理和排查    ReentrantLock、AQS的源代码    7AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的    8Object类中的方法以及每个方法的作用    9分布式session的几种实现    10cookie和session的区别以及session的实现原理    11filter,servlet,listener    12 post.get 区别 https forward/重定向等③培养潜力答案:我参与的产品是做资产管理模块的,macen项目,主产品前台用的swing,后台是spring+mybatis,前后台用webservice进行交互,连接池用的dbcp连接池,刚开始时配置项目中的bean使用配置文件配置每一个 bean,后来升级为扫描+注解自动注入了,数据库是以oracle基础开发的,相关的sql函数都是用的oracle的,有一个很简单的后台报表模块,用js原生代码和spring结合开发的,主要来导出几个报表,服务器部署过tomcat和was服务器。系统功能部分的话有产品端和投资端两大块,产品端模拟用户购买银行发布的产品,投资端模拟银行内部投资相应的基金,债券,等资产的操作,产品具体的有净值型的产品,利率型的产品,投资端也有债券,基金,同业,回购等资产,还有一些辅助功能,利润计算,净值模拟,现金流,三表,中债等等这两大部分都有账务模块,账务也是我们系统比较核心的一个功能2这个系统主要就是给银行客户内部进行一个资产管理的操作,每个银行可能需要的都不一样,刚开始一期的话客户可能会用一些,中债报表,利率型产品发行,债券啊,这些比较常用的,承德银行就对账务非常关注,内部分了n多账务科目,有的银行就只需要我们计算出的精准净值,和销售系统交互,有的可能跟现有系统不一样,需要更多地定制化开发,每个客户都能从中获得自己想要的模块,这就行了,没有也可以开发, 因为我司对银行内部的这块业务还是比较熟悉的3 优点:功能全面,丰富,        代码模块化程度高,直接写业务代码缺点:cs架构比较笨重,前台签出费时间      有些模块耦合度较高,sql都写在一起,可扩展性不是很好      技术架构层面的设计比较少,重复代码量较多(开发时间紧,开发人员水平参差不齐有关),前台业务代码逻辑太复杂,      有些逻辑是通用的也没有单独拎出来,或者是没时间拎出来,也因为是老代码可能求稳定就能不动尽量不动 4整体是没什么问题的1首先清理无用的代码,没有用到的变量,引用,清理掉2把bean注入改成扫描+注解注入,删掉n多复杂的xml3前台几个重复的页面单独拎出来,各个页面引用4把check代码写到控件里去,各个业务模块不要在写重复的check代码,设置一下属性即可5从整体架构方面可能我考虑的不是很周全,还需要再学习研究一下6后台全部用32位小数位计算,遇到存库的时候再四舍五入,尽量在前台做精度控制5 我做了,债券基金,净值型资产,中债交易,估值报表,净值型产品,做了一些和其他系统对接接口,升级了session管理。等工作投资端的一些东西6系统用到了springspring的ioc和aop,自定义拦截器事务管理托管给mybatis,mybatisoracledbcp连接池swing自定义线程池71有两个dataform 两个地方继承了两个,注入时报错2跑批时需要查询每天是否是节假日,但是每次都直接sql查太慢了,因为考虑到现在系统中spring的bean都是单例模式,定义了一个成员变量hashmap每次查询出若不在hashmap中,则加入进去,后来发现memcache就是做这个用的,暂时还没用。②基本技术static关键字:修饰变量和方法,在类被装载时初始化,修饰代码块,内部类final关键字:类,变量,方法,类不可继承,变量不可变,方法不可重写transient 序列化的时候不会序列化该关键字修饰的变量viotile 保证了变量的可见性,修饰变量时每次都从缓存中读取最新的值单例模式        懒汉式,饿汉式,方法加锁,双重检查Object 方法 tostring hashcode equals wait notify notifyall getclass clone fnalize()作用 tostring 打印string hashcode hash值
原创粉丝点击