我的第一次校招

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)

大家都在看

  • 部署前后端为独立的 Docker 节点

    在『服务器部署 Vue 和 Django 项目的全记录』一文中,介绍了在服务器中使用 Nginx 部署前后端项目的过程。然而,当 Web 应用流量增多时,需要考虑负载均衡、流量分发…

    数据库 2023年6月14日
    0101
  • 06-MyBatis中ResultType和ResultMap的区别

    MyBatis中ResultType和ResultMap的区别 如果数据库结果集中的列名和要封装的属性名完全一致的话用 resultType属性 如果数据库结果集中的列名和要封装实…

    数据库 2023年6月16日
    094
  • Spring AOP

    AOP简介: 面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。 *作用:在不惊动原始设计的基础上为其进行功能增强。 AOP核心概念 (1)Aspec…

    数据库 2023年6月16日
    098
  • select,poll,epoll

    select、poll、epoll 区别总结: 底层实现 select/poll 首先把关注的Socket集合从用户态拷贝到内核态,然后由内核检测事件,遍历整个集合(由于线性结构实…

    数据库 2023年6月16日
    094
  • mybatisplus不支持sum,但支持这个

    我们知道,要对数据求和,写sql很简单:select sum(exp) from table_name我们在用mybatisplus做求和计算的时候,mybatisplus的Wra…

    数据库 2023年6月9日
    0234
  • Geoserver对发布的数据源进行金字塔切片

    一、建立切片数据源1.1建立工作区 1.2添加数据我这里是老师给的高清卫星地图数据,格式为tif工作区选择之前建立的工作区,浏览那里选择对应的文件 1.3建立切片源的图层这里建立的…

    数据库 2023年6月6日
    096
  • 线程池系列一:线程池原来是个外包公司,打工人我悟了

    我们在工作中经常用到线程池,线程池(Thread Pool)是一种基于池化思想管理线程的工具。 线程的作用是处理任务,而池则是帮助我们实现资源的重复利用和管理。线程池就是帮助我们异…

    数据库 2023年6月6日
    094
  • RadonDB MySQL on K8s 2.1.4 发布

    RadonDB MySQL Kubernetes 于 4 月 7 日正式发布新版本 2.1.4。该版本主要对可用性进行了优化,新增中英文文档,并修复一些问题。 致谢 首先感谢 @a…

    数据库 2023年6月11日
    077
  • 1480. 一维数组的动态和

    给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。 请返回 nums 的动态和。 示例 …

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

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

    数据库 2023年6月16日
    090
  • JWT+SpringSecurity登录和权限管理

    一、什么是JWT 说起JWT,我们应该来谈一谈基于token的认证和传统的session认证的区别。说起JWT,我们应该来谈一谈基于token的认证和传统的session认证的区别…

    数据库 2023年6月6日
    095
  • 17、是否可以继承 String 类

    String类是final类,不可以被继承。 posted @2020-12-22 15:50 卫盾 阅读(111 ) 评论() 编辑 Original: https://www….

    数据库 2023年6月6日
    0100
  • 最新Mysql大厂面试必会的34问题

    1、mysql的隔离级别 四种隔离级别: READ-UNCOMMITTED(读取未提交): 最低的隔离级别,允许读取尚未提交的数据变更, 可能会导致脏读、幻读或不可重复读 。 RE…

    数据库 2023年5月24日
    081
  • Java 多线程共享模型之管程(下)

    共享模型之管程 wait、notify wait、notify 原理 Owner 线程发现条件不满足,调用 wait 方法,即可进入 WaitSet 变为 WAITING 状态 B…

    数据库 2023年6月16日
    0112
  • MySQL数据库性能优化

    前言 由于一些企业需要在本地部署系统(使用企业服务器部署系统,数据库也部署在同一台服务器上),本地部署的系统的服务器往往无法到达我们的云部署服务器,速度性能更差。尤其是在查询统计报…

    数据库 2023年5月24日
    0104
  • centos 自己常用命令

    tar 1. 使用tar压缩文件 tar -zcvf test.tar.gz ./test/ 该命令表示压缩当前文件夹下的文件夹test,压缩后缀名为test.tar.gz 如果不…

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