深信服测开一面面经
2021 9/23号。十一点半开始,总计三十分钟
自我介绍
介绍自己一个项目
项目中的难点
接下来八股文时间:
设计模式有哪些了解的
我大概讲了单例,代理,工厂,观察者模式。
讲述单例模式的几种形式。
懒汉,饿汉,双验锁,内部静态类
sql注入攻击
试探字段,用单引号插入子查询语句。因为我以前数据库被黑客删过勒索0.1个比特币,虽然不知道是用了什么手段,但是自己就去了解了一下攻击手段和防护方法
java传参
值传递和引用传递
还有啥忘记了。
代码题:
A,B,C,D,E五个人依次买饮料,每次买完饮料后,就会变成两个排在队尾,求第n个买饮料的。
比如第一个人买完饮料后:
B,C,D,E,A,A
给十分钟写。
我用的队列,入队的时候会计数。到第n个时候会结束。但是我出现了bug,没调通。时间太紧张又是白板,我有一些凌乱。
实际上还是应该数出队的,十分钟对我来说还是太紧张。我光读题就一分钟了。
还有就是综合我和室友感受,就是上午面试特别是十一点的,面试体验很差。上午自己状态一般也不行。
package Practices; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; public class SXFView1 { public static void main(String[] args) { SXFView1 tt = new SXFView1(); String[] s = new String[]{"A","B","C","D","E"}; String ans = tt.n_Customer(s,6); System.out.println(ans); } public String n_Customer(String[] s, int n){ Queue<String> queue = new LinkedList<>(); int c = 0; String curr = ""; for(int i = 0; i < s.length;i++){ if(c+1 < n){ queue.offer(s[i]); }else { return s[i]; } } while(!queue.isEmpty() && c < n){ curr = queue.poll(); c++; queue.offer(curr); queue.offer(curr); } return curr; } }#互联网求职##面试题目##深信服#