1.自我介绍
2.我的项目相干
3.我的项目中遇到的艰难
4.平时有看过或者钻研过哪些开源我的项目
mall,翻译过去也就是商场的意思.
接触的比拟多的还是无关电商零碎的开源我的项目,因为电商的我的项目里边知识点很多,学习到的货色比拟多.我在毕业设计也做无关电商我的项目的,无关秒杀那方面,最近也在学习这块的常识.
5.你感觉什么样的代码才是好的代码
命名标准,在类和办法上有明了的正文,代码整洁不冗余.
6.你最善于的畛域
7.你有对于本人代码进行优化过吗
做过通用的异样解决,通过restful格调对url跳转进行优化,而后对于服务器来说,数据库的话配置主从库,读写拆散.
8.你最相熟的语言,说一下两个毛病
最相熟的语言是java。
毛病:须要下载jdk、配置运行环境, 性能相比c要略差一些。
9.面向对象有理解吗,简略说一下面向对象三大个性
10.什么是递归,应用递归须要留神哪些点
程所须要的多次重复计算,大大地缩小了程序的代码量.
11.说一下MySQL增删改查具体语句
insert into [table] ([column],[column],[column]) values(?,?,?)
delete from [table] where column = ?
update [table] set column = ? where column = ?
select * from [table] where [column] = ?
12.SQL的语句要如何留神它的安全性
13.判断链表是否有环的存在
1)快慢指针. 定义两个指针,我这里就用A指针,B指针来示意. a指针在链表中一次前进一次,b指针前进两次.应用dowhile循环.如果没有环的话,b指针肯定会比a指针先到链表的尾部.如果a/b指针有下一次 指向同一个元素的援用.那么这个链表就有环.
2)用java的个性来说.应用set.遍历,将这些元素一一放入hashset.判断set汇合的size是否增长.
14.栈和队列的区别
1)队列是先进先出 栈是先进后出
2)队列只在表的一端进行插入,并在表的另一端进行删除
栈只能在表的一端插入和删除
3)无关遍历:
队列:基于地址指针进行遍历,而且能够从头部或者尾部进行遍历,但不能同时遍历,无需开拓空间,因为在遍历的过程中不影响数据结构,所以遍历速度要快
栈:只能从顶部取数据,也就是说最先进入栈底的,须要遍历整个栈能力取出来,而且在遍历数据的同时须要为数据开拓长期空间,保持数据在遍历前的一致性
15.对于二叉树的遍历
16.平时有逛哪些网站
17.平时有看哪些技术相干的书吗
18.如何一个点是不是多边形外部
19.设计模式有理解哪些,什么是代理模式
20.什么是编译,什么是链接
21.算法题:给定一个汇合S(没有反复元素), 输入它所有的子集 输出 1 2 3 输入 1, 2, 12, 3, 13, 23, 123
22.对于互联网行业加班你怎么看
23.996你怎么看
24.反诘
25.数据库问题
多版本并发管制:读取数据时通过一种相似快照的形式将数据保留下来,这样读锁就和写锁不抵触了,不同的事务session会看到本人特定版本的数据,版本链
26.SQL语句安全性的问题(SQL注入、用户权限等,防泄露)
1)sql注入,比如说mybatis框架应用${},用户输出# or等关键字造成
2)当报错的时候,比如说明码谬误,在异样解决,给用户提醒账号密码谬误 ,不将全副的错误信息,或者说不将具体的异样信息裸露给用户.
3)无关权限方面的,比如说给root权限,可能会引发一些数据库的关键问题.个别就是要给比拟 小的权限,不给多余的权限.
27.理论有遇到过SQL注入?
有遇到过,是一个敌人写的我的项目,无关打字的一个我的项目,明码忘了,就尝试过sql注入,没想到居然胜利了.我本人的我的项目没遇到过,写的时候就思考过这些.而且大多都是使用框架,相对来说这种问题比拟少见.
7.链表跟数组的区别
不同:链表是链式的存储构造;数组是程序的存储构造。
链表通过指针来连贯元素与元素,数组则是把所有元素按秩序顺次存储。
链表的插入删除元素绝对数组较为简单,不须要挪动元素,且较为容易实现长度裁减,然而寻找某个元素较为艰难;
数组寻找某个元素较为简单,但插入与删除比较复杂,因为最大长度须要再编程一开始时指定,故当达到最大长度时,裁减长度不如链表不便。
28.HashMap线程安不平安,为什么
不平安.
1)数据笼罩问题 两个线程执行put()操作时,可能导致数据笼罩.
2)扩容时导致死循环.从新定位每个桶的下标,并采纳头插法将元素迁徙到新数组中。头插法会将链表的程序翻转.ab两个线程同时执行扩容操作,造成环链表.
29.什么是线程平安什么是线程不平安
不是线程平安、应该是内存平安,堆是共享内存,能够被所有线程拜访
当多个线程拜访一个对象时,如果不必进行额定的同步控制或者其余的协调操作,调用这个对象的行为都能够取得正确的后果.
栈是每个线程独有的,保留其运行状态和部分主动变量的。栈在线程开始的时候初始化,每个线程的栈.相互独立,因而,栈是线程平安的。操作系统在切换线程的时候会主动切换栈。
30 多用组合少用继承,为什么
继承是is-a的关系,耦合度很高,一处改会导致处处须要批改
组合是一种has-a的关系,就是在一个类里对另一个类的援用.
场景:平时用继承,个别还是对于它多态的使用.交给运行时判断.
父子类继承的话,尽管能够缩小代码复用,但耦合度还是比拟高的.
31对加班的认识
对加班冲突不大.我感觉加班是失常的.依据我本人的理解.
32 GC的机制、回收的原理
援用计数法:每个对象有一个援用计数属性,新增一个援用时计数加1,援用开释时计数减1,计数为0时能够回收,
可达性分析法:从 GC Roots 开始向下搜寻,搜寻所走过的门路称为援用链。当一个对象到GCRoots 没有任何援用链相连时,则证实此对象是不可用的,那么虚拟机就判断是可回收对象。
(1)虚拟机栈(栈帧中的局部变量区,也叫局部变量表)中援用的对象。
(2)办法区中的类动态变量属性援用的对象。
(3)办法区中常量援用的对象。
(4)本地办法栈中JNI(Native办法)援用的对象。
3.redis和mysql的区别
5.面向过程和面向对象的区别
8.进入到一个景区,app怎么智能举荐商铺或者饭店?
11.有理解到什么新技术吗
12.编程题:输入一个数组的子集,如123,输入1,2,3,12,23,123
HTTPS和HTTP的区别次要如下:
1、https协定须要到ca申请证书,个别收费证书较少,因此须要肯定费用。
2、http是超文本传输协定,信息是明文传输,https则是具备安全性的ssl加密传输协定。
3、http和https应用的是齐全不同的连贯形式,用的端口也不一样,前者是80,后者是443。
4、http的连贯很简略,是无状态的;HTTPS协定是由SSL+HTTP协定构建的可进行加密传输、身份认证的网络协议,比http协定平安。