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值
阅读全文
0 0
- 20170611
- 几点感想-20170611
- 20170611 JS实现数字反转
- 20170611_常用关联容器的函数
- 20170611-leetcode-041-First Missing Positive
- RS232、USB、RS485转TTL,MODBUS协议 20170611 周日
- 20170611 用JS while循环实现斐波那契数列求兔子总数
- Chrome 中的 JavaScript 断点设置和调试技巧
- C++设计模式六--SingletonPattern(单件模式)
- Vue.js 实现省市联动
- 实现Linux Shell自动交互的三种方法----本人备注
- 代理和动态代理
- 20170611
- LayoutInflater 解析
- java 根据模板,导出word并提供下载
- 集成学习总结 & Stacking方法详解
- gulp-插件解析
- html5播放器的标签与用法(mp4视频编码问题)
- JLabel动态变化问题
- ZooKeeper安装配置
- mysql 5.5.55 64位数据库在windows server 2008r2上不能安装的解决方案