zoukankan      html  css  js  c++  java
  • 面试都问了些什么及解答

    ---恢复内容开始---

    一,大数据类:

      问:一亿条字符串,固定长度,其中有重复的两条数据,如何找到(不限制方法)

      1.linux系统下一条命令

      2.导入数据库添加非聚焦索引,一条select 命令

      3.文件流写成1000个文件,并计算hash值 % 100 这样就有100个文件,开多线程并行计算hashset 

       问:一亿条int类型的整数如何找到重复的

       申请长为1亿的bitarray,根据比如这样的数组{1,2,5,3,6} 可以用bitarray这样表示0111011 ,第几位存在就标示为1,不存在则记为0,直接扫描bitarray就可以确定需要添加的数是否存在了。

    二,在你看来,数据库优化要注意哪些内容?

    基础知识准备: SQL server 的数据存储都是B树来存放

    1.聚集索引的原则是放在那些高频,唯一的属性列上,当表没有建立聚焦索引的时候,那时的表的存储顺序就是以堆的方式存在,是没有顺序可言的。

    表的顺序上的连续是非常的重要的

    尽量在唯一性高的字段上创建索引,不要在性别这种唯一性很低的字段上创建索引;

    2.非聚焦索引 

    3.联合索引  注意顺序

    4.索引的碎片化,需要rebuild索引。

    5.填充因子

    6.学会看查询计划

    T-SQL的优化:

    1.在Where条件中尽量不要在=号左边进行函数、运算符、或表达式计算,如Where DATEDIFF(DD,StartTime,GetDate())=6  ;或Where Num/2=100;

    2.在Where中尽量避免出现!=或<>操作符;

    3.在Where中尽量避免对字段进行null值判定;

    4.使用Like关键字进行模糊查找时,不要使用前置百分号,如Like ‘%123%’;

    5.数据库字段的长度尽量的小(保证应用的前提下);

    6.不要使用Selecte*,不要使用*号来查询数据;

    7.尽量避免使用游标,游标的效率是很差的,可以使用While循环来代替;

    8.尽量避免返回大量数据(查询数据(Select)优化,分页处理等);

    9.使用Exists代替in和not in

    10.注意是否使用脏读,with(nolock)

     

     

  • 相关阅读:
    【原】webpack--loaders,主要解释为什么需要loaders和注意事项
    【原】通过npm script运行webpack的原理
    原生js深拷贝函数
    git add 添加错文件的撤销方法
    item2 快捷键
    sudo su 和sudo -s的区别
    nvm常用命令
    【雅思】【口语】Describe a product you bought and felt happy
    【雅思】【口语】Help others
    【雅思】【口语】
  • 原文地址:https://www.cnblogs.com/codefish/p/4651658.html
Copyright © 2011-2022 走看看