记CVTE第一次面试

2023-05-16

首先说明一下博主是一个大三的学生,专业计算机科学与技术,主学的方向是Web后台开发,主语言是Java。前几天看到CVTE有校园招聘实习生,就报名参加了,做了CVTE的笔试题,前面的选择题不难,后面的编程题稍微难一些,而且切换出去调试,做完之后,本来想着没报希望了,就没理了,后来周四晚上短信通知我说过了笔试,让我周六过去面试。
面试地点是在一个酒店里面,当时也是蛮多人的,CVTE招的岗位也很多,嵌入式开发,前端,Android/IOS等都有,排了没一会队就到我了。总结一下面试的题目吧。

1. 问题一:项目

面试官:最近有没有做过什么项目?
我:最近做过一个关于充电电车的电桩管理的项目。
面试官:个系统主要是干什么的,有什么功能?
我就跟面试官描述了一些这个系统的大致功能和流程,这里就先省略了。
面试官:假设有一天,这个电车非常好用,很多人都在使用,数据变得很大的时候,你的数据库要怎么设计?
我:尽量单表查询,建数据库索引,使用缓存。
面试官:那索引有哪几种索引?
因为我对数据库这方面比较薄弱,不过自己以前看过一些文章,只能努力回忆,
我:有主键索引、普通索引……剩下的想不太起来了。
面试官:那我如何知道一张表是不是有索引,或者说我用什么查询语句可以知道我的数据库表中是否有索引?
我:
这里比较尴尬,因为我对于数据库建立索引,优化这方面了解的并不是很多,平时用数据库只用考虑了增删查改,并没有考虑到优化问题。

2. 问题二:语言

面试官:你的主学语言是什么?
我:Java。
面试官:在Java中有哪些异常?
我:异常分可检查的异常和非检查的异常,可检查的异常有IO异常,非检查的异常有空指针异常,数组越界异常……等
面试官:那我们平时怎么防止空指针异常?
我:使用if条件判断该对象是否为空?
面试官:好的,这个是可以的,在Java8中有一种更优雅的实现方式,你有了解过吗?
我:
面试官:java8中optional实现了这个功能。
面试官:了解过Java中的集合接口吗?
我:Collection接口,List,Set,Map接口
面试官:ArrayList和LinkedList有什么区别
我:ArrayList的是用基于数组的数据结构实现的,LinkedList是基于链表实现的
面试官:这两个的add()方法有什么区别?
我:ArrayList的add方法,将对象插入到数组当中,并且将数组当前位置的索引+1,LinkedList的add方法将上一个结点的指针指向要加入的对象。
面试官:了解过序列化和反序列化吗?Java中是怎么实现的
我:通过实现Serializable接口
面试官:拿出一张纸,写了一个类A,里面有一些属性,int a=1;String b = “123”
让我写出将这个类序列化到文件的代码。
我:回忆了一下,用了FileInputStream和ObjectOutStream,写了出来。
面试官:如果我将这个对象序列化到了硬盘,现在我将这个类增加了一个属性,然后再将这个对象反序列出来,会发生什么情况?
我:会报错。
面试官:如果我删除这个属性呢?
我:也会。
面试官:如果我在这个类里面,对serialVersionUID进行了初始化呢,还会报错吗?
我:不会。
面试官:为什么?
我:

3. 问题三:网络协议

面试官:说下TCP和UDP的区别
我:TCP面向连接,UDP无连接,TCP提供可靠的连接,UDP是尽最大努力交付
面试官:说下TCP建立连接三次握手过程
我:
面试官:断开连接时的四次握手,为什么需要四次而不是三次?
我:
面试官:两个不同局域网内的主机要通讯需要使用到什么协议
我:NAT协议
面试官:如果一个局域网内的主机要向另一个局域网内的主机发送消息,传输的报文是怎么样的?
我:
面试官:HTTP协议有哪些状态码?
我:200 302 404 500
面试官:302代表什么意思
我:重定向
面试官:浏览器是怎么处理重定向的,客户端访问服务器,服务器通过response响应,重定向的url放在response的什么地方?
我:

4. 问题四:其他

面试官:除了Java,你有了解过其他技术吗?
我:学过一些JavaScript
面试官:是前端还是node.js?
我:前端
面试官:js如何过滤一些敏感字符
我:正则表达式。
面试官:原生JS发送ajax的四个步骤有哪些?
我:
面试官:了解什么是XSS漏洞吗?
我:
面试官:如何防止表单重复提交
我:表单提交后将提交按钮disable掉
提交表单后重定向到另一个页面
服务器端使用token技术

5.总结:

首先面试官第一个问的就是你有没有做过什么项目,说明项目是很重要的,出去找工作一定要有项目经验。然后面试官问的问题都是有一些规律的,从你的回答中去引申,比如一开始的项目,项目中遇到了什么,如果使用这个项目的人变得很多了,需要怎么设计表。然后再根据你的回答继续深入问你,所以,如果对某些方面一直半解,就不要胡乱说,直接说这个方面我还暂时还没有了解。我们知道面试官会一层一层地深入追问,那么我们也可以引导面试官往往我们擅长的地方去询问,回答的时候尽量答得周全一些,可以突出一些你知道别人不知道的点,这样可以给自己加分。

整个面试过程中,没有问到任何框架的问题,其实想想也可以明白,框架这个东西,会用其实很简答,你学个几天,照着文档写demo,很容易就学会了的,所以一些大的公司往往更加注重基础。除了自己所学的主要语言方面,还可以掌握一些其他的技能,也是给自己加分的项。还有计算机网络,网络层,传输层,应用层的熟悉一定要非常的熟悉,web开发肯定要对这些协议掌握的非常透彻,TCP/UDP、Http。现在语言有很多种,不单单只是Java,Python、Node.js、Ruby这些都可以用来开发Web,只不过每个语言有自己的优点和特色。

最后在当天晚上得出了结果,也在自己的意料之中,自己的回答的确也是挺差的。这次面试也让我学到了很多东西,感谢这位面试官。机会总是留给有准备的人的,Java基础也还需要再进一步巩,重点关注IO/NIO,线程,并发包,集合,Java8新特性,计算机网络相关知识。对学过的知识要进行分类整理,形成自己的知识体系,这样你的逻辑才会清晰。路还长,坑还很多,剩下的时间好好把握,努力学习,充实自己!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记CVTE第一次面试 的相关文章

  • 小米电视访问电脑共享文件夹

    输入win 43 R打开运行窗口 输入control进入控制面板 点击 网络和internet 网络共享中心 更改高级共享设置 a 专用 网络设置如图 xff1a b 来宾或公用 网络设置如图 xff1a c 所有网络 设置如图 xff1a
  • 让Everything搜索结果更清爽

    Everything的文件搜索功能很强大 xff0c 但是默认设置下搜索出的结果过于丰富 xff0c 总是会有一些乱七八糟的后缀名文件 xff08 如下图 xff09 xff0c 或许我们并不想搜索出那些文件 这时我们需要对它设置里的排除列
  • 上机 Qt5.14.2 编程应用

    上机 Qt5 14 2 编程应用 关于QT Qt是一个1991年由Qt Company开发的跨平台C 43 43 图形用户界面应用程序开发框架 它既可以开发GUI程序 xff0c 也可用于开发非GUI程序 xff0c 比如控制台工具和服务器
  • Android Studio报错:Error:Could not find com.android.tools.build:gradle:4.1 记一次不长记性的坑

    本文地址 xff1a https blog csdn net zengsidou article details 79797417 看字面意思 xff0c 这个问题是Gradle没有对应版本 在搜索引擎没有找到方法之后 xff0c 尝试自己
  • VBox关闭dhcp

    VBox关闭dhcp C Program Files Oracle VirtualBox gt VBoxManage exe list dhcpservers NetworkName HostInterfaceNetworking Virt
  • Android 使用LottieAnimationView 做启动动画

    lt xml version 61 34 1 0 34 encoding 61 34 utf 8 34 gt lt RelativeLayout xmlns android 61 34 http schemas android com ap
  • Android OkHttp★

    1 OkHttp OkHttp是Square公司开发的一个处理网络请求的开源项目 是目前Android使用最广泛的网络框架 OkHttp的特点 支持HTTP 2并允许对同一主机的所有请求共享一个socket连接 如果非HTTP 2 则通过连
  • Android GestureDetector★★★

    1 GestureDetecor 用户触摸屏幕时会产生许多手势 xff0c 一般通过重写View类的onTouch 方法可以处理一些触摸事件 xff0c 但是这个方法太过简单 xff0c 如果需要处理一些复杂的手势 xff0c 用这个接口就
  • Android canvas

    1 Canvas Canvas指画布 xff0c 表现在屏幕上就是一块区域 xff0c 可以在上面使用各种API绘制想要的东西 canvas内部维持了一个mutable Bitmap xff0c 所以它可以使用颜色值去填充整个Bitmap
  • Android apk打包流程★

    1 apk打包 Android开发中打包apk主要有两种方式 使用Android Studio集成直接生成apk 使用ant工具在命令行方式下打包apk 不管哪种方式 打包apk的本质过程都是一样的 Android的apk包文件包括两部分
  • Android ViewPager用法

    1 适配器PagerAdapter ViewPager使用适配器类将数据和view的处理分离 xff0c ViewPager的适配器叫PagerAdapter xff0c 这是一个抽象类 xff0c 不能实例化 xff0c 所以它有两个子类
  • Android Fragment★★

    1 Fragment fragment译为 碎片 xff0c 是Android 3 0 xff08 API 11 xff09 提出的 xff0c 最开始是为了适配大屏的平板 Fragment看起来和Activity一样 xff0c 是一个用
  • Android设计模式—适配器模式★★★

    1 适配器模式 适配器模式是指把一个类的接口变换成客户端所期待的另一种接口 xff0c 从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作 适配器模式是为了解决接口不兼容问题的 比如厂商给你的接口和你现有的接口对接不起来 旧的数据
  • Android 类加载机制

    nbsp 1 类加载机制 java文件不是可执行的文件 需要先编译成 class文件才可以被虚拟机执行 而类加载就是指通过类加载器把 class文件加载到虚拟机的内存空间 具体来说是方法区 类通常是按需加载 即第一次使用该类时才加载 Jav
  • Android Bitmap防止内存溢出

    1 Bitmap 在Android开发中经常会使用到Bitmap xff0c 而Bitmap使用不当很容易引发OOM Bitmap占用内存大小的计算公式为 xff1a 图片宽度 图片高度 一个像素点所占字节数 xff0c 因此减小这三个参数
  • Swift NSAttributedString的使用

    NSMutableAttributedString let testAttributes 61 NSAttributedStringKey foregroundColor UIColor blue NSAttributedStringKey
  • Android ViewStub

    1 ViewStub ViewStub是一个可用于性能优化的控件 xff0c 它是一个不可见的 零尺寸的View xff0c 可以在运行时进行延迟加载一个布局文件 xff0c 从而提高显示速率 viewstub和include比较像 xff
  • Android Jetpack—LiveData和数据倒灌

    1 LiveData LiveData是Android Jetpack包提供的一种可观察的数据存储器类 xff0c 它可以通过添加观察者被其他组件观察其变更 不同于普通的观察者 xff0c LiveData最重要的特征是它具有生命周期感知能
  • Gradle build 报错:Received status code 400 from server: Bad Request

    全部错误是这样的 xff1a Could not GET 39 https dl google com dl android maven2 com android tools build gradle 3 1 2 gradle 3 1 2
  • 排列组合详解

    在笔试题中看到的一个选择题 用1 3的瓷砖密铺3 20的地板有几种方式 xff1f 排列组合问题 排列和组合问题 xff0c 其实是两种问题 xff0c 区分它们的原则是是否需要考虑顺序的不同 排列问题 xff0c 考虑顺序 xff1b 组

随机推荐