中兴专业面

1. 面试的问题:

(1) mybatis的select语句怎么写?#{ } 和¥{ }的区别?返回json字符串加什么注解?

  • 接口CustomerMapper.java中定义了一个方法名

         

   配置文件CustomerMapper.xml中的查询语句为

  

  

  • #{ } 使用?作为占位符,可以防止sql注入;${ }表示字符串拼接,不能解决sql注入的问题

   对于查询语句 select * from user where id = 1; select * from user where id = 2; 

  #{ } 只会有一个查询语句, 而${ }会有两个查询语句

  • controller中的方法返回字符串只需要加上注解@ResponseBody

(2) springMVC的controller的作用?

  接收前端页面来的请求,从数据库中存取数据,然后跳转页面。

(3) mysql的优化,组合索引,最左匹配原则,索引失效的情况?

  • 给一张表的多个字段建立索引叫做组合索引,只有当sql语句用到了组合索引的第一个字段,索引才会生效,可以使用explain语句来查看
  • 索引列上使用表达式或函数,索引会失效,比如

    select * from user where date.format(date) < 2007; 但是函数加载不等式右边,索引不会失效

(4) Dubbo和ZooKeeper的工作方式?

  

(5) http协议请求报文和响应报文的格式?常用状态码?

  • 请求报文和响应报文 

             

  • 1**:信息提示,2**:成功,3**:重定向,4**:客户端出错,5**:服务器错误

  200 Ok:客户端请求成功

  301 Moved Permanently(永久移除):永久重定向

  302 Found(已找到):暂时重定向

  304 Not Modified(未修改):,客户端的缓存时最新的,要客户端使用缓存

  400 Bad Request(坏请求):告诉客户端,它发送的请求有语法错误

  401 Unauthorized(未授权):需要客户端对自己认证

       403 Forbidden(禁止):请求被服务器拒绝

  404 Not Found(未找到):未找到资源

  500 Internal Server Error(内部服务器错误):服务器发生错误,无法为请求提供服务

  503 Service Unavailable(未提供此服务):服务器目前无法为请求提供服务,但过一段时间就可以恢复服务

(6) json文件的格式?

 1 {
 2     "feeds": [
 3         {
 4             "id": 299080,
 5             "oid": 288342,
 6             "category": "article",
 7             "data": {
 8                 "subject": "视频直播:会面",
 9                 "summary": "在新加坡会面",
10                 "cover": "/Attachs/Article/288342/56a263bcab4a4c55b0bef0528ce880b6_padmini.JPG",
11                 "pic": "",
12                 "format": "video",
13                 "changed": "2015-11-07 14:35:22"
14             }
15         },
16         {
17             "id": 299076,
18             "oid": 288340,
19             "category": "article",
20             "data": {
21                 "subject": "荔枝新闻3.0:不止是阅读",
22                 "summary": "江苏广电旗下资讯类手机应用“荔枝新闻”于近期推出全新升级换代的3.0版。",
23                 "cover": "/Attachs/Article/288340/3e8e2c397c70469f8845fad73aa38165_padmini.JPG",
24                 "pic": "",
25                 "format": "txt",
26                 "changed": "2015-09-22 16:01:41"
27             }
28         }
29     ],
30     "PageIndex": 1,
31     "PageSize": 20,
32     "TotalCount": 53521,
33     "TotalPage": 2677
34 }

  其实JSON数据就是一段字符串而已,只不过有不同意义的分隔符将其分割开来而已,我们看上面的符号,里面有[ ] ,{ }等符号,其中 

    • [ ]中括号代表的是一个数组
    • { }大括号代表的是一个对象
    • 双引号“”表示的是属性值
    • 冒号:代表的是前后之间的关系,冒号前面是属性的名称,后面是属性的值,这个值可以是基本数据类型,也可以是引用数据类型。

(7) 自己写一个json文件的解析器?

  简单来说,就是根据json数据解析返回一个List<HashMap<String, Object>>集合

  可以参考https://blog.csdn.net/oman001/article/details/79063278

2. 需要延伸学习的方面:

  (1) springmvc+spring+mybatis的细节问题

  (2) mysql索引

  (3) 剑指offer

  

猜你喜欢

转载自www.cnblogs.com/CodingYLee/p/11426445.html