知了学员秋招就业面试真题新鲜出炉,助你斩获心仪Offer!

知了小姐姐2020-09-17956

又到了一年一度的秋季校招招聘高峰期,很多小伙伴都在四处搜索面试真题,那么今天知了姐就从知了堂学员面试的真题中给大家整理出以下IT名企面试真题,帮助大家解析名企招聘套路,助你斩获心仪Offer!


数据类型原理必考题

请大家分析一下 如下的程序执行的原理:

short s1 = 1; s1 = s1 + 1; 有错吗?
short s1 = 1; s1 += 1 有错吗?

答案及解题思路:

前者不正确,后者正确。对于 short s1 = 1; s1 = s1 + 1;由于 1 是 int 类型,因此 s1+1 运算结果也是 int 型,需要强制转换类型才能赋值给 short 型。而 short s1 = 1; s1 += 1;可以正确编译,因为 s1+= 1;相当于 s1 = (short)(s1 + 1);其中有隐含的强制类型转换


Java面试考题

Java的四个基本特性

答案及特性解释:

【抽象】就是把现实生活中的某一类东西提取出来,用程序代码表示,我们通常叫做类或者接口。抽象包括两个方面:一个是数据抽象,一个是过程抽象。数据抽象也就是对象的属性。过程抽象是对象的行为特征。

【封装】把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行封装隐藏。封装分为属性的封装和方法的封装。

【继承】是对有着共同特性的多类事物,进行再抽象成一个类。这个类就是多类事物的父类。父类的意义在于抽取多类事物的共性。

【多态】允许不同类的对象对同一消息做出响应。方法的重载、类的覆盖正体现了多态。


算法去重问题

字符串中有重复的内容去重。例如:abbccccaaddaggb,去重后的效果:abvadagb

解题代码:

方案1:Java程序实现去重问题

package com.dingsheng.sql;

import org.junit.Test;

 import java.util.ArrayList;
 import java.util.List;

 public class TestStr {

    @Test
    public void method() {
        String str = "abbccccaaddaggb";
        List<String> list = new ArrayList<>();
        for(int i = 0; i < str.length(); i++) {
            list.add("" + str.charAt(i));
        }
        System.out.println("没有去重前的数据 == " + list.toString());
        for(int i = 0; i < list.size() - 1; i++) {
            for(int j = list.size() - 1; j > i; j--) {
                if(list.get(j).equals(list.get(i))) {
                    list.remove(j);
                }
            }
        }
        System.out.println("去重后的数据 == " + list.toString());
    }
}

方案2:JavaScript前端程序实现去重问题

<script type="text/javascript">
  var str = 'abbccccaaddaggb';
  var newStr = '';
  for(var i = 0; i < str.length; i++) {
    if(newStr.indexOf(str[i]) == -1) {
      newStr += str[i];
    }
  }
  console.log(str, newStr);
</script>


前端技术必考题

js数组主要有哪些方法?主要参数你了解吗?

考点解析
1. 理解JS中的数组内置对象API方法
2. 注意这个考题要大家说出数组对象API方法参数的具体含义,一定要好好阐述,不要被面试官“吊打”自己的基础

答案及解题思路:

1、shift():删除数组的第一个元素,返回删除的值

2、pop():删除数组的最后一个元素,返回删除的值

3、push(3):将参数加载到数组的最后,返回数组的长度

4、concat(3,4):把两个数组拼接起来。

5、splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...

6、reverse:将数组反序

7、sort(orderfunction):按指定的参数对数组进行排序

8、slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组


前端面试考题

什么是Promise对象,如何使用?

答案及解题思路:

Promise是解决异步回调的ES语法的标准,通常用来解决异步嵌套和多异步同时完成回调等问题。

Promise是一个构造函数,相当于一个容器,把异步代码包裹在里面,promise有三个状态(pending(进行中)、fulfilled(已成功)和rejected(已失败))初始化为pending,当异步请求成功后调用resolve函数,状态从pending--->fulfilled,失败的时候调用reject,状态从pending--->rejected。状态不可逆。

缺点:书写麻烦,不能实现异步代码,同步执行的需求(配合async函数使用即可)


前端面试考题

说一些ES6、ES7新特性

答案及解题思路:

let,count快级作用域;解构重对象和数组中提取值;箭头函数;字符串模版;扩展运算符...;对象的简写;module;promise(async);class;对原生对象的扩展(新增加了很多方法) ;for-of (Object.keys,values,entries等);Symbal();

不常用的proxy,reflect,generate函数。


信安方向面试考题

TCP和UDP的区别?

TCP协议和UDP协议特性区别总结:

1. TCP协议在传送数据段的时候要给段标号;UDP协议不标号

2. TCP协议可靠;UDP协议不可靠

3. TCP协议是面向连接;UDP协议采用无连接

4. TCP协议负载较高,采用虚电路;UDP采用无连接

5. TCP协议的发送方要确认接收方是否收到数据段(3次握手协议)

6. TCP协议采用窗口技术和流控制

当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择。当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下,UDP也是一个好的选择,如:DNS交换。
把SNMP建立在UDP上的部分原因是设计者认为发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据。TCP丰富的功能有时会导致不预料的性能低下,但是我们相信在不远的将来,TC可靠的点对点连接将会用于绝大多数的网络应用。


信安方向面试考题

代码执行,文件读取,命令执行的函数都有哪些?

答案及解题思路:

(1)代码执行:

eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function

(2)文件读取:

file_get_contents(),highlight_file(),fopen(),readfile(),fread(),fgetss(),fgets(),parse_ini_file(),show_source(),file()等

(3)命令执行:

system(), exec(), shell_exec(), passthru() ,pcntl_exec(),popen(),proc_open()


信安方向面试考题

mysql的网站注入,5.0以上和5.0以下有什么区别?

答案及解题思路:

5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表;5.0以下是多用户单操作,5.0以上是多用户多操作。


信安方向面试考题

在渗透过程中,收集目标站注册人邮箱对我们有什么价值?

答案及解题思路:

(1)丢社工库里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台

(2)用邮箱做关键词进行丢进搜索引擎

(3)利用搜索到的关联信息找出其他邮箱进而得到常用社交账号

(4)社工找出社交账号,里面或许会找出管理员设置密码的习惯

(5)利用已有信息生成专用字典

(6) 观察管理员常逛哪些非大众性网站,拿下它,你会得到更多好东西

  • 培训费用

  • 上课方式

  • 开班时间

  • 就业情况