zoukankan      html  css  js  c++  java
  • 面试总结

    今天参加了一轮视频面试,很多专业问题。但是还是有很多不会的。记录一下(可能存在错误,欢迎批评指正)

    1.操作系统

      (1)进程和线程是怎么通信的

        进程通信:管道/信号/消息队列/共享内存/信号量/套接字

        线程通信:信号量二进制信号量互斥信号量整数型信号量记录型信号量/消息消息队列消息邮箱/事件event

      (2)死锁的解除

        撤销/挂起进程

        (3)分页和分段的区别

        分页的作业地址空间是一维的,即单一的线性地址空间。 分段的作业地址空间是二维的 在标识一个地址时,即需给出段名,又需给出段内地址。

    2.计算机网络

      (1)http和https区别:一个是加密。

        https是怎么保证安全的:HTTP先和SSL通信,再由 SSL 和 TCP 通信,也就是说 HTTPS 使用了隧道进行通信。通过使用 SSL,HTTPS 具有了加密(防窃听)、认证(防伪装)和完整性保护(防篡改)。

        状态码:1XX(正常可忽略) 2XX(正确) 3XX(重定向) 4XX(客户端错误) 5XX(服务器错误)

        TCP/IP:四层模型    网络接口层, 网络层, 传输层,应用层

        UDP报文长度:首部有8个字节 (源端口、目的端口、长度、检验和) ,伪首部12字节(计算机检验临时添加)

    3.Java基础

      (1)HaspMap数据结构和实现

        是基于数组实现的,根据key的hashcod和数组长度确定位置。

      (2)为什么重写equals还要重写hashcode

         因为hashcode编码是根据内存中的地址来确定的。重载hashCode()是为了对同一个key,能得到相同的Hash Code。这样才能得到key对应的键值对。

         (3)Java的迭代器

         迭代器是一种模式、详细可见其设计模式,可以使得序列类型的数据结构的遍历行为与被遍历的对象分离,即我们无需关心该序列的底层结构是什么样子的。只要拿到这个对象,使用迭代器就可以遍历这个对象的内部。

    4.编写sql

       (1)having作用:where是过滤行用的,having过滤分组的。

         sql思路:1.由于要求学生每门课都大于80.所以需要按照姓名分组。开始我认为是 select name from t where fenshu >80 group by name  having fenshu >80

        后来发现这么写是不对的,因为经过where过滤之后,低于80的课程已经被排除了,这样在用having就没意义了。

        2.然后修改select name from t  group by name  having fenshu >80  。这么写sql报错,经过修改,在having中取最小分数>80,即可得到正确结果

          SELECT name from testsql  GROUP BY name  HAVING min(fenshu)>80

        (注,name是sql的关键字,所以使用时需要加上`name`  引用)

    5.算法相关

        (1)冒泡排序(求数组中第五大的数字)

          今天用冒泡排序犯了一个很严重的错误,就是没有区分开外层循环和内层循环。导致在逻辑上出现了错误。而且在计算时间复杂度的时候,犯了错误。因为这个使用了两层for 循环。外层循环是k,即常数,内层是n。所以时间复杂度应该是On。而不是On²。

        (2)算法题:生成6位随机数,至少包含一个重复数字且不相邻。

          目前,还没想到好的解决方案。

          解决方案:按顺序生产随机数,保证生成的每个数字与上一个不同。并且将生成的放进hashset  。生成完成之后检验hashset的长度,如果是6证明没有重复数字,此时,从前4个数字随机抽取一个放到第6位,即可。

  • 相关阅读:
    爬虫的基本原理
    爬虫的分类
    gcc编译
    C++字符串总结
    PE文件格式学习笔记
    学习SDR过程中的参考网页
    Linux下源码编译安装遇到的问题
    web | jsp考试复习要点整理
    爬虫 | php封装 | file_get_contents
    re | [NPUCTF2020]EzObfus-Chapter2
  • 原文地址:https://www.cnblogs.com/wys-373/p/12808260.html
Copyright © 2011-2022 走看看