技术标签: 阿里
关于多线程并行处理定时任务的情况,下列哪些说法符合 《阿里巴巴Java开发手册》: BCD
A .推荐使用Timer方式处理。
B .推荐使用ScheduledExecutorService方式处理。
C .Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行。
D .ScheduledExecutorService并发运行多个定时任务时,其中某线程抛出异常,不会影响到其它线程的继续运行。
关于数据库中表相关的命名,下列哪些说法符合 《阿里巴巴Java开发手册》: ABD
A .表名、字段名禁止出现数字开头,禁止两个下划线中间只出现数字。
B表名不使用复数名词。
C .表必备三字段命名: id, gmt_ create, gmt_modify.
D .表必备三字段命名: id, gmt_create, gmt_ modified.
KV结构的集合,在处理null值的存储 上有细微的区别,下列哪些说法是正确的: A
A .TreeMap的key不可以为null
B .TreeMap的key可以为null
C .ConcurrentHashMap的key可以为null
D .ConcurrentHashMap的value可以为null
注释: HashMap的keyvalue均可以为null, 但是TreeMap的key不能为空,value可以为空
关于二方库依赖的解析命令,下列哪些说法是正确的: ABC
A .mvn dependency:resolve打印出已仲裁依赖的列表。
B .mvn dependency.tree打印工程整个的依赖树结构。
C .mvn dependency:tree -Dverbose -Dincludes=commons-lang打印出与commons-lang相关的详细依赖。
关于变量和常量定义,下列哪些符合《阿里巴巴Java开发手册》: AD
A .Long a=2L;
B .Long a=2l;
C .常量只定义一次,不再赋值,所以不需要命名规范。
D .不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护。
关于线程安全,下列哪些说法是正确的: ACD
A .SimpleDateFormat是线程不安全的类。
B .SimpleDateFormat 是线程安全的类。
C .一般不要定义SimpleDateFormat的static变量,如果定义为static,必须保证线程安全。
D .推荐使用Apache封装好的DateUtils和DateFormatUtils工具类,来处理时间日期转换问题。
以下关于格式规约的说法,正确的有哪些: AD
A .代码块缩进4个空格,如果使用tab缩进,请设置成1个tab为4个空格;
B .代码块缩进5个空格,如果使用tab缩进,请设置成1个tab为5个空格。
C .为了保持代码美观,《手册》 强烈推荐增加若干空格,使某一行的变量与相邻对应位置的变量对齐。
D .方法体内的执行语句组、变量的定义语句组、不同的业务逻辑之间或者不同的语义之间推荐插入一个空行;相同业务逻辑和语义之间不需要插入空行。
数组使用Arrays. asList转化为集合,下列说法哪些正确的: ACD
A .数组元素的修改,会影响到转化过来的集合。
B .数组元素的修改,不会影响到转化过来的集合。
C .对于转换过来的集合,它的add/removelclear方法会抛出: UnsupportedOperationException.
D .Arays asList体现的是适配器模式,只是转换接口,后台的数据仍是数组。
关于异常的处理方式,下列哪些说法是正确的: BD
A为防止obj对象本身空指针异常,书写代码时应该注意加异常捕获处理,例如: try {obj.method() } cath(NullPointerException e{ …}
B .方法签名中,抛给调用者的关键字为throws
C .方法内部,抛出异常实例对象为throws
D .自定义异常要做到认知对等",即:抛出者和接收者要保持对自定义异常的认知统-, 接收方需要知道这种异常的含义和对应的处理方案。
Hashtable, HashMap, ConcurrentHashMap都是Map的实现类,它们在处理null值的存储上有细微的区别,下列哪些说法是正确的: ABD
A .Hashtable的KV都不可以为null.
B .HashMap的KV都可以为null.
C .HashMap的K不可以为null, V可以为null。
D .ConcurrentHashMap的KV都不可以为null.
关于测试代码的覆盖率,下列哪些说法是正确的? :B
A .路径覆盖是最强覆盖,符合路径覆盖且测试全部通过,程序绝对没有问题。
B .语句覆盖度是最弱的覆盖度量方式。
C .分支覆盖与条件覆盖其实是一回事。
D .判定条件覆盖与路径覆盖其实是一回事。
关于checked/unchecked exception,下列哪些说法是正确的: BCD
A .继承java Jang Error的类属于checked exception。
B .checked异常继承javalang .Exception类。
C .unchecked异常继承java. lang .RuntimeException类。
D .NullPointerException ,lllegalAargumentException属于unchecked exception。
以下关于命名规约内容说明,正确的是: BCDE
A. [强制]包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词,并且使用复数形式,例如:应用工具类包名为com. alibaba mpp.
B. [强制]类名使用UpperCamelCase, 必须遵从驼峰形式,但以下情形例外: (领域模型的相关命名) DO/DTO/VO/ DAO等。
C. [强制]抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。
D. [强制]枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。
E .如果使用到了设计模式,建议在类名中体现出具体模式。例如代理模式的类命名: LoginProxy;观察者模式命名: ResourceObserver.
关于MySQL性能优化的描述,下列哪些说法是正确的: ABCD
A.主键查询优先于二级索引查询。
B .表连接有一定的代价,故表连接数量越少越好。
C.一般情况下,二级索引扫描优先于全表扫描。
D .可以使用通过索引避免排序代价。
关于生产环境的日志文件,下列哪些说法符合 《阿里巴巴Java开发手册》: ABCD
A. 异常信息应该包括两类信息:案发现场信息和异常堆栈信息。
B .日志文件推荐至少保存15天,因为有些异常具备以“周“为频次发生的特点。
C .避免重复打印日志,浪费磁盘空间,务必在log4j xmI中设置additivity=false.
D .错误日志和业务日志尽量分开存放。
关于索引的使用,下列哪些说法是正确的: BCD
A.查询语句WHERE a+1 = 5可以利用a索引.
B .查询语句WHERE date_ format(gmt_ create, ‘%Y-%m-%d’) = '2016-11-11’无法利用gmt_ create索引。
C .当c列类型为char时,查询语句WHERE c = 5无法利用c索引。
D .索引字段使用时不能进行函数运算。
关于索引的设计,下列哪些说法符合《阿里巴巴Java开发手册》: ACD
A .对varchar类型的字段建立索引,必须指定索引长度。
B .对varchar类型的字段建立索引,不需要指定索引长度,这样索引区分度最好。
C .业务上具有唯-特性的字段(含组合字段),必须指定唯一索引。
D .建复合索引时,一般选择区分度高的字段放在最左列。
关于Java的接口描述,下列哪些说法符合《阿里巴巴Java开发手册》: BCD
A.在接口类中的方法和属性使用public修饰符。
B .对于Service类,内部的实现类加Impl的后缀与接口区别。例如: ProductServicelmpl实现ProductService接口。
C .对于Service类,基于SOA的理念,是以接口方式暴露服务。
D .尽量不在接口里定义变量,如果一定要定义变量, 肯定是与接口方法相关,而且是整个应用的基础常量。
关于类的序列化,下列说法哪些是正确的: D
A .类的序列化与serialVersionUID毫无关系。
B .如果完全不兼容升级,不需要修改serialVersionUID值。
C .POJO类的seriaNersionUID不一致会编译出错。
D .POJO类的serialVersionUID不一致会抛出序列化运行时异常。
关于接口使用抛异常还是返回错误码,下列哪些说法符合《阿里巴巴Java开发手册》: ABCD
A.向公司外部提供的http/api接口,推荐使用“错误码"方式返回异常或者错误信息。
B .对于应用内部的方法调用,推荐使用"抛出异常”的方式处理异常或者错误信息。
C .跨应用的RPC调用,推荐使用将"错误码”和“错误简短信息"封装成Result的方式进行返回。
D .对外提供的接口,一定要保证逻辑健壮性:尽量避免空指针等技术类异常;对于业务类异常要做好错误码或者异常信息的封装。
根据《阿里巴巴Java开发手册》,以下功能必须进行水平权限控制校验的有: ABCD
A.订单详情页面。
B .类目管理后台。
C .店铺装修后台。
D .订单付款页面。
关于分页查询,下列哪些说法符合《阿里巴巴Java开发手册》: ABC
A.分页查询,当统计的count为0时,应该直接返回,不要再执行分页查询语句。
B .iBATIS自带的queryForList(String statementName,int start,int size)分页接口有性能隐患,不允许使用。
C .定义明确的sql查询语句,通过传入参数start和size来实现分页逻辑。
D .可使用存储过程写分页逻辑,提高效率。
[强制]有try块放到了事务代码中,catch异常后,如果需要回滚事务,一定要注意手动回滚事务。
关于Java代码的设计和开发注意事项,下列哪些说法符合《阿里巴巴Java开发手册》: ABC
A.所有的覆写方法,必须是强制加@Overide.
B .setter方法中,参数名称与类成员变量名称一致,this. 成员名=参数名。
C .在getter方法中,尽量不要增加逻辑判断,因为添加了逻辑判断后,会增加排查问题难度。
D .避免用BeanUtil进行属性的copy。
在多线程并发读写的情况下,下列哪些处理方式能保证对象的线程安全: BCD
A .使用volatile关键字。
B .使用synchronized关键字给对象的读写操作加锁。
C .如果是基本类型,推荐使用java.util. concurrent atomic包下面提供的线程安全的基本类型包装类,例如AtomicInteger.
D .如果是集合,推荐使用java.util. concurrent提供的并发集合类,例如: ConcurrentHashMap。
备注:
(volatile解决多线程内存不可见问题。对于一写多读,是可以解决变量同步问题,但是如果多写,同样无法解决线程安全问题。)
关于代码书写格式,下列哪些说法符合 《阿里巴巴Java开发手册》: BCD
A .换行时相对上一行缩进2个空格。
B .运算符与下文一起换行,方法调用的点符号与下文-起换行。.append()
C .在多个参数超长,逗号后进行换行。
D .在括号前不要换行。
关于使用explain对数据库性能进行优化分析,下列哪些说法符合《阿里巴巴Java开发手册》: A
A .SQL性能优化的目标:至少要达到range级别,要求是ref级别,如果可以是consts最好。
B .index级别走的是扫描索引,所以速度会比ref快。
C .range级别是指对表进行范围索引。
D .ref级别是指使用主键或者唯一索引。
关于索引效率,下列哪些说法符合《阿里巴巴Java开发手册》: CD
A .使用索引的效率一定高于全表扫描的效率。
B .关于explain的结果,tpe=index的索引效率好于type=ref.
C .sq|查询条件where a like ‘%阿里%’,不会走索引。
D .sq|查询条件where a like ‘阿里%’ ,a列创建了索引,一般会使用索引进行检索。
关于线程池管理线程的好处,下列哪些说法是正确的: AC
A .能够减少在创建和销毁线程上所花的时间以及系统资源的开销。
B .使用线程池一定能避免OOM问题。
C .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。
D .线程池能够根据资源等待情况,自动调整线程优先级并解决死锁问题。
关于MySQL性能优化的描述,下列哪些说法是 正确的: ABCD
A.主键查询优先于二级索引查询。
B表连接有一定的代价,故表连接数量越少越好。
C .一般情况下,二级索引扫描优先于全表扫描。
D .可以使用通过索引避免排序代价
[参考]不要对单元测试存在如下误解:
一 需求分析利用c语言的链表或结构体数组实现学生信息的管理,编写有登录界面的学生信息管理系统,可以实现学生信息的录入,显示,删除,排序,统计,文件读写等功能。二 概要设计系统功能模块结构如下图所示: 管理员登录模块:该模块有三个功能,登陆、修改密码、退出 录入模块:录入学生信息,学生信息有学号,姓名,班级,性别,地址,电话。每输入完一项后,按回车键确认 显...
在使用OpenGL加载纹理图的过程中,遇到了Unicode字符集的问题:auxDIBImageLoad函数。查看定义我们发现系统将auxDIBImageLoad函数define为auxDIBImageLoadW函数,而auxDIBImageLoadW函数的参数为LPCWSTR。通过查阅资料,MultiByteToWideChar函数是解决这个问题的最方便的一种。解决方法:(LPCWST
Vundle项目托管在github上https://github.com/gmarik/vundle。 其特色在于使用git来管理插件,更新方便,支持搜索,一键更新,从此只需要一个vimrc走天下。在vimrc文件中添加如下内容来启用vundle管理vim插件的功能:set rtp+=$VIM/vimfiles/bundle/vundle/ call vundle#rc('$VIM/vimfi
1 在搜索栏中输入 regedit ,打开注册表2 删除项目:计算机\HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4\CacheId
Cloning into 'xxx'... remote: HTTP Basic: Access denied fatal:
由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成。比如:210 x 6 = 12608 x 473 = 378427 x 81 = 2187都符合要求。如果满足乘法交换律的算式算作同一种情况,那么,包含上边已列出的3种情况,一共有多少种满足要求的算式。请填写该数字,通过浏览器提交答案,不要填写多余内容(例如:列出所有算式)。做了部分历年题,发现全排列真的...
1 定义状态转换图(简称状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。2 状态状态是任何可以观察到的系统行为模式,一个状态代系统的一种行为模式。状态规定了系统对事件的响应方式。状态图中定义的状态有初态、终态和中间状态。一张状态图只有一个初态,有零个或多个终态。3 事件事件是某个特定时刻发生的事情,引起系统做动作或状态转换的控制信息4 符号状态变量:状态图所...
1、首先学习一下cancat()函数: cancat()函数:用于连接两个或多个数组案例:源数据:user order_type order_number zhangsan collect 20 wangwu payment 3 zahngsan payment 5 wangwu collect...
1047 - Neighbor House PDF (English) Statistics ForumTime Limit: 0.5 second(s) Memory Limit: 32 MBThe people of Mohammadpur have decided to paint each of their houses red, green, or blue. The...
转载,点击跳转常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式
MacOS 系统自带的 Bash 虽然已经很强大,但是对于一些细节功能的支持并不完美,重点是对于一个颜控来说,原生 Bash 真的很丑……可塑性也不高。本文将使用 iTerm2 这款被各路大牛吹爆的 MacOS 平台最好用终端结合 zsh
用python玩微信跳一跳项目地址 https://github.com/ydlan/wechat_jump 开源是个好东西,如果只关心功能的实现,我们大可不必在代码上纠结。项目工具Python ADB 安卓手机 安装部署Python 3.6 自己之前已经安装过了,需要添加环境变量,确保可以用CMD命令行运行python。ADB:手动配置adb到环境变量中 ...