学同科技后台面经

是一家创业公司,公司背后是阿里系的投资,目前公司规模感觉不大,据说今年会扩招

面试官人超级nice,是浙大毕业的大佬,从阿里出来创业的,非常感谢他哈哈

笔试:

1. 进程与线程的区别

    资源、调度、系统开销、效率

2. 常用的设计模式,画uml图

    写了工厂模式和单例模式

3. 什么是sql注入,如何防止

    在表单中恶意输入sql语句

    不信任用户输入、设置权限、安全存储等等

4. 水平拦截什么的= =

    这个真不知道

5. 如何给图片设置防盗链

    不清楚。。

6. 悲观锁和乐观锁

    悲观锁:数据处理过程中始终对数据加锁

    乐观锁:在数据提交时检查,如果冲突回滚

7. hashtable和hashmap的区别,手写hashmap的put和get方法

    区别就从线程安全性和键是否可为null说了下,其他想不起来了,put方法大致写了下,后来是面试的时候口述的

8. 谈谈Spring的优势,理解


然后面试官面试,好多题目不记得了

先是聊了聊学校,成绩,在学校的项目啥的

然后开始面试:

1. Spring Boot和Spring的区别

    这个真不太会,我做项目是用到了spring boot,但是只是用到了,从starter.spring.io下的模块框架,我就简单说了下pom.xml       设置dependency依赖

2. GC的算法

    说了标记-清除,标记-整理,复制算法,然后面试官问怎么标记,又谈到了引用计数法和可达性分析算法

    然后面试官问哪些对象可以作为GC Roots,这个没答上来,记得以前看过,但是实在是想不起来了

    答案是:虚拟机栈中引用的对象,方法区中类静态属性引用的对象,方法区中常亮引用的对象,本地方法栈中native方法引用的     对象

3. 从地址栏输入百度地址到得到结果整个的过程

    就是计算机网络的各个协议,大体说了下

4. 看到了笔试中的hashmap的代码,说了说怎么具体实现put()方法

    一开始判断table是否为空,若不是建立数组

    然后判断键是否为null,不是则return putForNullKey(value),说了下放入table[0]中什么的

    再通过计算hash(key)和indexFor()找到对应的下标,其中提到了怎么操作,容量为2的幂的好处

    然后通过循环遍历找key

        若找到了就把原来的value 提取出来,把新的value放进去,返回原来的value

        若没有找到就调用addEntry(),然后就说了下扩容啊改变hash方式啊什么的

5. 图的遍历,现在能不能手写出来

    说了深度优先和广度优先,回答写不出来了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值