1号店相信大家都有所了解最早期的“网上超市”为国内电子商务行业开创了先河,1号店在在国际领先水平的电子商务管理系统并拥有多项专利和软件著作权,为众多朋友提供了非常大的便利,使得大家足不出户就能够买到自己的需要的东西。
让购买者能够体会到全新的购物方式,为上班族们提供了最大的便利。
1号店之所以做的如此之好与众多软件开发者是脱不了关系的,那么1号店对于软件开发人员的要求是什么呢,在面试的时候又会问到什么呢?相信这是很多朋友要问的问题,接下来就为大家分享一下最新的关于一号店的java软件工程师的面试题提供给大家。
1. linux常用命令
vim filename 打开原有的文件或创建一个新文件。
i 在光标当前所在字符位置的前面输入文本数据。
Ctrl+L 清除因其他进程的输出信息而干扰的编辑窗口。
:wq 保存编辑处理后的结果,然后退出vim编辑器。
:wq! 强制保存编辑处理后的结果,然后退出vim编辑器。
ZZ 保存编辑处理后的结果,然后退出vim编辑器。
:q 在未做任何编辑处理时,可以使用此命令退出vim编辑器。
:q! 强制退出vim编辑器,放弃编辑处理后的结果。
2. spring事务配置
传播特性7种:
PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。
PROPAGATION_SUPPORTS 支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY 使用当前的事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW 新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER 以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。
3. spring注解
Spring 注解@Component,@Service,@Controller,@Repository
持久层、业务层和控制层分别采用 @Repository、@Service 和 @Controller 对分层中的类进行注释,而用 @Component 对那些比较中立的类进行注释
在接口前面标上@Autowired和@Qualifier注释使得接口可以被容器注入,当接口存在两个实现类的时候必须指定其中一个来注入,使用实现类首字母小写的字符串来注入,如:@Autowired
@Qualifier("chinese")
private Man man;
否则可以省略,只写@Autowired
4. spring参数值获取
@RequestMapping("/index/{username}")
public String index(@PathVariable("username") String username) {
System.out.print(username);
return "index";
}
public String testParam(PrintWriter out, @RequestParam("username") String username) {
out.println(username);
return null;
}
5. spring mvc一次完整请求过程
请求首先通过DispatcherServlet。servlet根据HandlerMapping,来处理请求,并根据请求,来找到Controller,Controller执行完毕后,发送一个ModelAndView,并告诉需要展示哪个视图。根据这个视图,servlet找到这个视图的ViewResolver,并由这个ViewResolver生成对应的view,并输出。
6. Memcached特征:
协议简单
它是基于文本行的协议,直接通过telnet在memcached服务器上可进行存取数据操作
基于libevent事件处理
Libevent是一套利用C开发的程序库,它将BSD系统的kqueue,Linux系统的epoll等事件处理功能封装成一个接口,与传统的select相比,提高了性能。
内置的内存管理方式
所有数据都保存在内存中,存取数据比硬盘快,当内存满后,通过LRU算法自动删除不使用的缓存,但没有考虑数据的容灾问题,重启服务,所有数据会丢失。
分布式
各个memcached服务器之间互不通信,各自独立存取数据,不共享任何信息。服务器并不具有分布式功能,分布式部署取决于memcache客户端。
Java热点新闻