2017-11-7java(3-4年)面试中遇到的面试题
来源:互联网 发布:阿里云 和 aws 对比 编辑:程序博客网 时间:2024/06/06 02:28
今天去了一家公司,名字叫图谱天下
废话少说:
1.自定义表字段如何实现
第一次听到这个问题觉得比较简单,我说直接将所有的表和所有的列存储到数据库表结构里,用表来管理用户创建的表和字段。
我这样回答之后,对面并不是很满意,说:如果字段多了怎么办?并且我这种做法每次查询都要先查询到需要的表,在查询到需要的列,才能执行最终的查询。这样做不好。 我就没啥办法了,以前觉得这种方式还不错。那怎么办呢?
网上有几种方法:
1. 动态添加属性字段。
2. 先预留字段,到时再用。
3. 使用 XML 字段保存。
4. JSON 格式保存。
5. 属性字段行存储【推荐方式】
这个博客写的不错:http://blog.csdn.net/kk185800961/article/details/53208667
2.类似于dobbo这种服务框架,如何实现多节点session共享
类似于这种问题楼主确实没有真正解决过,我先回答使用filter来实现,他又问我有没有其他的想法,我就说可以使用mq消息推送到不同的节点,给session单独在设置一个ID用作唯一标示【显然不是这样的】
网上出的答案:
1.使用数据库来同步session[感觉这中方法不是很好,该不赘述]
2.使用cookie来同步session
session是文件的形势存放在服务器端的,cookie是文件的形势存在客户端的,怎么实现同步呢?
方法很简单,就是把用户访问页面产生的session放到cookie里面,就是以cookie为中转站。
你访问web服务器A,产生了session把它放到cookie里面了,你访问被分配到web服务器B.
这个时候,web服务器B先判断服务器有没有这个session
如果没有,在去看看客户端的cookie里面有没有这个session
如果也没有,说明session真的不存,如果cookie里面有,就把cookie里面的sessoin同步到web服务器B,这样就可以实现session的同步了。
说明:这种方法实现起来简单,方便,也不会加大数据库的负担,但是如果客户端把cookie禁掉了的话,那么session就无从同步了,这样会给网站带来损失;
cookie的安全性不高,虽然它已经加了密,但是还是可以伪造的。
3.使用memcache同步session【荐】
memcache可以把web中多节点的服务器的内存结合起来,形成内存池,这样的话无论是哪个服务器产生的session,其他服务器都可以使用。
缺点:memcache将内存分为不同的存储块,并且大小不同且固定,如果存储不足就会产生内存泄露
3.多节点事务【分布式事务】如果实现事务的一致性
这个问题没有回答出来。。。
这个事务有两种特点:1.最终一致性 2.过程一致性
最终一致性很好理解,就是最终的事务保持一致即可。(使用mq来推送事务消息就行)
过程一致性:在执行一些列业务中部分事务保持一致(这个暂时还没有遇到也没有很好的想法。。求分享)
4.js遍历html节点是如何遍历的
我先说的是从上到下的顺序,接着他说按照ID获取节点的原理是什么,我说:从html的文档开头开始查找,找到就返回,不会继续向下查找。然后他给我写了一个例子问我按照id=one获取到的是哪个节点
<div> <div id="one"></div></div><div id="one"><div>
5.sql语句方面的优化有哪些:
我先说了些简单的:
1.尽量不使用*
2.为列创建合适的索引
3.使用存储过程或者视图来存储比较复杂的sql
4.sql使用占位符,防止sql注入(他说阿里巴巴的一个数据库中间件可以解决这个问题,好像是这个Cobar)
面试官觉得这些太简单了,问我有没有其他的优化了。。。然而
他的提示:
如果一个表中有个age,查询的时候写>age 好还是>=age好(当时蒙圈),因为>=比>少了一次遍历【god】
网上:
http://www.jb51.net/article/39221.htm这里mysql给出了好多优化方案
回答:获取到one节点。问我为什么不是先获取外层的div,我说html是递归遍历的【没有说错吧,感觉是】
主要的面试题大概是这几个,然后就没有然后了,楼主明天继续分享。年底工作不好找,共同分享学习一下
- 2017-11-7java(3-4年)面试中遇到的面试题
- java面试过程中经常遇到的面试题
- 2017面试遇到的面试题
- 2017面试遇到的一些面试题
- java面试中遇到的两道String的面试题
- java面试一定会遇到的56个面试题
- 面试Android工程师遇到的面试题
- android面试题——记录我在面试中遇到的面试题目
- [面试] - java面试题3
- C/C++ 笔试面试(3)——内存管理GetMemory 确实遇到的面试题
- 面试题(Java面试)
- JAVA WEB面试中最常见的面试题解答
- java 面试中经常被问到的面试题
- Android面试中可能会问的Java面试题
- java,html5+css3以及javascript面试题------自己面试的时候遇到的面试题,所以整理一下
- java面试过程中经常遇到的一些试题的总结(1)
- 我在面试过程中遇到一些面试题汇总
- Android面试中可能会问的Java面试题(超全)
- Reactjs+BootStrap开发自制编程语言Monkey的编译器:发刊词
- Restful 学习笔记
- Java中常用到的部分设计模式
- 5.Python的基本数据类型(上)
- SpringBoot报错(七)日常报错jar包冲突
- 2017-11-7java(3-4年)面试中遇到的面试题
- python之实战----朴素贝叶斯之手写数字位图
- 异步FIFO设计(非常详细,图文并茂,值得一看!)
- C语言指针概念及基本使用
- HDOJ 1390 Binary Numbers(水题)
- Android studio3.0 的几种依赖方式笔记
- 2017-11-7每日练习
- clipse JDT ASTRewrite修改源码后保存
- junit一直出现空指针异常 尼玛啊