智加科技前端面试

主要分为6部分

0

面向对象的三大特性?

多态的种类?

1.html5

http协议

转载https://blog.csdn.net/weixin_39780047/article/details/88850857

html5新特性?

html协议和websocket协议的区别?

2.css

平时在开发过程中兼容IE吗?

行内元素和块级元素

display的属性?

flex的属性?

盒子模型?

CSS盒模型和边距重叠解决方案?

不同选择器的优先级?

3.js

事件响应机制? w3c 冒泡+传播

ES6中的新增的数据类型Set()

原型链?

闭包?

4.cookie等浏览器安全,跨域问题

webstorage的两种类型?

session storage什么时候销毁?

5.数据结构与算法

2条链表的公共交点

前10大个数(我写的代码如下)

def partition(array, start, end):
    i = start - 1
    #以array[end]为枢纽
    for j in range(start, end):
        if array[j] >= array[end]:
            i += 1
            array[i], array[j] = array[j], array[i]
    array[i+1], array[end] = array[end], array[i+1]
    return i+1

def findTenLargest(array):
    start = 0
    end = len(array)-1
    index = partition(array, start, end)
    while index != 9:
        if index > 9:
            end = index-1
            index = partition(array, start, end)
        else:
            start = index+1
            index = partition(array, start, end)
    return array[:10]

def test():
    a = [1,2,2,3,3,4,4,5,6,6,7,7,8,8,8,4,68,44]
    print(findTenLargest(a))
    
test()
MIN = -100000
def find_10_largest(array):
    print(array)
    largest_array = [MIN]*10
    for i in array:
        if i > largest_array[0]:
            for j in range(9,0,-1):
                largest_array[j] = largest_array[j-1] 
            largest_array[0] = i
        elif i > largest_array[1]:
            for j in range(9,1,-1):
                largest_array[j] = largest_array[j-1] 
            largest_array[1] = i
        elif  i > largest_array[2]:
            for j in range(9,2,-1):
                largest_array[j] = largest_array[j-1] 
            largest_array[2] = i
        elif i > largest_array[3]:
            for j in range(9,3,-1):
                largest_array[j] = largest_array[j-1]
            largest_array[3] = i 
        elif i > largest_array[4]:
            for j in range(9,4,-1):
                largest_array[j] = largest_array[j-1] 
            largest_array[4] = i
        elif i > largest_array[5]:
            for j in range(9,5,-1):
                largest_array[j] = largest_array[j-1]
            largest_array[5] = i
        elif i > largest_array[6]:
            for j in range(9,6,-1):
                largest_array[j] = largest_array[j-1]
            largest_array[6] = i
        elif i > largest_array[7]:
            for j in range(9,7,-1):
                largest_array[j] = largest_array[j-1]
            largest_array[7] = i
        elif i > largest_array[8]:
            for j in range(9,8,-1):
                largest_array[j] = largest_array[j-1]
            largest_array[8] = i
        elif i > largest_array[9]:
            largest_array[9] = i
        print(largest_array)
    return largest_array

def test():
    a = [1,2,2,3,3,4,4,5,6,6,7,7,8,8,8,4,68,44]
    print(find_10_largest(a))
    
test()

#犯错之一是忽视了局部变量的作用域,也就是说i虽然分别在for的两个循环中,但是其实是一个变量
#犯错之二就是搞错了迭代的顺序,正确做法是逆序的,而我却用正序来实现
#犯错之三就是太多的冗余判断
发布了63 篇原创文章 · 获赞 18 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/liuxiang15/article/details/88900350
今日推荐