我的第一次校招

2018-09-26 23:40:03

虽然是第一次参加,但这次的笔试完成结果让我不是很满意,因为有几道超简单的字符串编程没有做,忘了或者是想复杂了,还有一些概念题不是很清楚,自己糊弄过去的,不过之前没有复习过,还有心理准备,接下来进入主题吧。

1、进程和线程是什么?两者有什么联系?

进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。

线程:进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,线程自己基本不拥有系统资源,只拥有一一点在运行时必不可少的资源(如程序计数器,一组寄存器和栈),但是他可与同属于一个进程的其他的线程共享进程所拥有的全部资源。

2、数组与链表的区别。

数组:

  • 在内存中,数组是一块连续的区域。 拿上面的看电影来说,这几个人在电影院必须坐在一起。
  • 数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间。 比如看电影时,为了保证10个人能坐在一起,必须提前订好10个连续的位置。这样的好处就是能保证10个人可以在一起。但是这样的缺点是,如果来的人不够10个,那么剩下的位置就浪费了。如果临时有多来了个人,那么10个就不够用了,这时可能需要将第11个位置上的人挪走,或者是他们11个人重新去找一个11连坐的位置,效率都很低。如果没有找到符合要求的作为,那么就没法坐了。
  • 插入数据和删除数据效率低,插入数据时,这个位置后面的数据在内存中都要向后移。删除数据时,这个数据后面的数据都要往前移动。 比如原来去了5个人,然后后来又去了一个人要坐在第三个位置上,那么第三个到第五个都要往后移动一个位子,将第三个位置留给新来的人。 当这个人走了的时候,因为他们要连在一起的,所以他后面几个人要往前移动一个位置,把这个空位补上。
  • 随机读取效率很高。因为数组是连续的,知道每一个数据的内存地址,可以直接找到给地址的数据。
  • 并且不利于扩展,数组定义的空间不够时要重新定义数组。

链表:

  • 在内存中可以存在任何地方,不要求连续。 在电影院几个人可以随便坐。
  • 每一个数据都保存了下一个数据的内存地址,通过这个地址找到下一个数据。 第一个人知道第二个人的座位号,第二个人知道第三个人的座位号……

  • 增加数据和删除数据很容易。 再来个人可以随便坐,比如来了个人要做到第三个位置,那他只需要把自己的位置告诉第二个人,然后问第二个人拿到原来第三个人的位置就行了。其他人都不用动。

  • 查找数据时效率低,因为不具有随机访问性,所以访问某个位置的数据都要从第一个数据开始访问,然后根据第一个数据保存的下一个数据的地址找到第二个数据,以此类推。 要找到第三个人,必须从第一个人开始问起。
  • 不指定大小,扩展方便。链表大小不用定义,数据随意增删。

数组的优点:

  • 随机访问性强
  • 查找速度快

缺点:

  • 插入和删除效率低
  • 可能浪费内存
  • 内存空间要求高,必须有足够的连续内存空间
  • 数组大小固定,不能动态拓展

链表的优点:

  • 插入删除速度快
  • 内存利用率高,不会浪费内存
  • 大小没有固定,拓展很灵活

缺点:

  • 不能随机查找,必须从第一个开始遍历,查找效率低

3、get与post的区别。

  • 了解历史 get和post是HTTP与服务器交互的方式,
    说到方式,其实总共有四种:put,delete,post,get。
    他们的作用分别是对服务器资源的增,删,改,查。
    所以, get是获取数据,post是修改数据。 但是,现在大家都不这么干了!
    只用一个方式就可以做增删查减的操作。
    。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  • 区别分析 get把请求的数据放在url上,即HTTP协议头上,其格式为:
    以?分割URL和传输数据,参数之间以&相连。
    数据如果是英文字母/数字,原样发送,
    如果是空格,转换为+,
    如果是中文/其他字符,则直接把字符串用BASE64加密,及”%”加上”字符串的16进制ASCII码”。
    post把数据放在HTTP的包体内(requrest body)。 get提交的数据最大是2k(原则上url长度无限制,那么get提交的数据也没有限制咯?限制实际上取决于浏览器,(大多数)浏览器通常都会限制url长度在2K个字节,即使(大多数)服务器最多处理64K大小的url。也没有卵用。)。
    post理论上没有限制。实际上IIS4中最大量为80KB,IIS5中为100KB。 GET产生一个TCP数据包,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
    POST产生两个TCP数据包,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。 GET在浏览器回退时是无害的, POST会再次提交请求。 GET产生的URL地址可以被Bookmark,而 POST不可以。 GET请求会被浏览器主动cache,而 POST不会,除非手动设置。 GET请求只能进行url编码,而 POST支持多种编码方式。 GET请求参数会被完整保留在浏览器历史记录里,而 POST中的参数不会被保留。 GET只接受ASCII字符的参数的数据类型,而 POST没有限制 那么,post那么好为什么还用get? get效率高!。

4、概述反射和序列化。

序列化:序列化—将数据分解成字节流,以便存储在文件中或在网络上传输。

反射:反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。

5(编程)、试判断该字符串是否对称。

6(编程)、冒泡排序

冒牌排序:从前往后,依次比较相邻的两个数,把较大的数放到后面。一次循环,可以在当前最末尾位置得到一个当前最大值。

7(编程)、单例设计模式

8(编程)、在一个字符串内,将另一个字符串中出现的字符删除,例str1 = “hello World”,str2 = “hei john” ,输出应为”IIWrld”

Original: https://www.cnblogs.com/ZJJCodeLife-520/p/9710812.html
Author: 桃子来了
Title: 我的第一次校招

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622629/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • JVM-虚拟机栈

    运行时数据区-虚拟机栈 JAVA技术交流群:737698533 java虚拟机在执行java程序过程中会把它所管理的内存划分为若干个不同的区域,这些区域各有各的作用,根据java虚…

    数据库 2023年6月16日
    0106
  • Cookie & Session

    posted @2020-12-02 23:48 一方玩 阅读(31 ) 评论() 编辑 Original: https://www.cnblogs.com/tianyuwohu/…

    数据库 2023年6月6日
    076
  • Spark学习(1) Spark入门

    什么事spark Spark是一种快速、通用、可扩展的大数据计算引擎.项目是用Scala进行编写,基于内存计算的 包括交互式查询和流处理 spark内置项目 Spark SQL:是…

    数据库 2023年6月16日
    085
  • 【转】SpringBoot多模块打包瘦身分离

    背景 首先项目是个多层级的多模块springBoot项目,每次打出来的jar包都在90M,其中包含核心代码以及所有依赖的jar包,上传到服务器速度比较慢。 由于核心代码(contr…

    数据库 2023年6月6日
    098
  • Dockerfile 构建镜像

    从 Dockerfile 构建镜像涉及三个步骤 创建工作目录 编写 Dockerfile 规格 使用 docker build 命令构建镜像 1. 创建工作目录 这个根据应用实际情…

    数据库 2023年6月14日
    058
  • Java绘图基础

    Graphics 绘图类 Graphic是一个抽象的画笔对象,可以在组件上绘制丰富多彩的几何图形和位图。Graphics类封装了Java支持的基本绘图操作所需的属性,主要包括 颜色…

    数据库 2023年6月16日
    071
  • Idea新建一个springboot的项目

    1、 2、 3、 4、 5、新建yml文件 6、如果没有这个yml文件没有变成绿叶标的话 如下操作添加即可 一般过一会就好了 Original: https://www.cnblo…

    数据库 2023年6月9日
    085
  • [LeetCode]9. 回文数

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121输出: true示例 2: 输入: -121输出: false解…

    数据库 2023年6月9日
    0150
  • mysql对属性的增删改

    修改表 alter table 创建表db 查看表 desc与describe desc table 查看建表语句show create table t1; 修改表名 alter …

    数据库 2023年6月9日
    094
  • 精心整理16条MySQL使用规范,减少80%问题,推荐分享给团队

    上篇文章介绍了如何创建合适的MySQL索引,今天再一块学一下如何更规范、更合理的使用MySQL? 合理规范的使用MySQL,可以大大减少开发工作量和线上问题,并提升SQL查询性能。…

    数据库 2023年5月24日
    079
  • 【Java框架】– SpringBoot大文件RestTemplate下载解决方案

    近期基于项目上使用到的RestTemplate下载文件流,遇到1G以上的大文件,下载需要3-4分钟,因为调用API接口没有做分片与多线程, 文件流全部采用同步方式加载,性能很慢。最…

    数据库 2023年6月6日
    099
  • 15. 三数之和

    给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案…

    数据库 2023年6月16日
    058
  • window server2019+vmware16+Ubuntu20部署网站记录

    准备: 1:物理机一台,我的配置如下: 2:U盘10G以上一个,系统启动盘制作使用 3:Windows Server2019系统镜像 3-1:我下载的是server2019版本系统…

    数据库 2023年6月6日
    074
  • 解决执行npm run dev 后报错 Mix: not found的问题

    开发环境:homestead 宿主机环境:windows10 在homestead虚拟机内运行npm run dev时出现错误信息:mix: not found (此时打开lara…

    数据库 2023年6月14日
    078
  • MySQL 视图简介

    对数据库中数据的查询有时是非常复杂的,如表连接、子查询等。这种查询很难写,而且容易出错。此外,当您专门操作表时,有时只需要操作部分字段。 [En] The query about …

    数据库 2023年5月24日
    088
  • asp.net(C#)接MYSQL8.0版本报错的处理方法

    由于新的操作系统没有安装mysql,项目中需要使用到,于是安装了最新版本的mysql8.0.28(我安装的是社区版),如果你的项目是老项目,使用的mysql插件是比较老的版本,安装…

    数据库 2023年5月24日
    0184
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球