Python

Python

Python可变参数args,*kwargs

当函数的参数前面有一个星号的时候表示这是一个可变的位置参数
两个星号表示这个是一个可变的关键词参数。
星号把序列或者集合解包(unpack)成位置参数,两个星号*把字典解包成关键词参数。

Python内置容器及其容器及其使用场景

python多线程

对Python了解吗?说说它底层的实现原理。

什么是Python生成器,迭代器;

Python中的dict底层怎么实现的

Python多线程用了几个CPU

什么是装饰器;讲一讲装饰器,能手写实现一个装饰器么?

本质上,decorator就是一个返回函数的高阶函数。
@符号用做函数的修饰符,可以在模块或者类的定义层内对函数进行修饰,出现在函数定义的前一行,不允许和函数定义在同一行。一个修饰符就是一个函数,它将被修饰的函数作为参数,并返回修饰后的同名函数或其他可调用的东西(如果返回不是一个可调用的对象那么会报错)。每一层调用装饰都传递的是函数对象,每一层Wrap返回对象也是一个可调用的对象(如上例中的decorator)

C++

C++中const与#define的区别与优势

C++11新特性auto的用法

C++虚函数,读程序写结果

C++关键字static、extern

C++关键字this,C++类的实例方法中能否写delete this,这种情况的使用场景

C++中new和delete语句的底层实现

编程语言之间的对比

Java和C++相比有什么特点?

C++为什么比Java运行得快?

java和python的异同?

计算机系统

了解Linux么?用过哪些命令?

SSO了解吗?

负载均衡了解吗?

MD5加密可逆吗?会被破解吗?如何破解?

DDOS攻击(我答了SYN攻击,深入问了如何解决,关键点是什么)

并发用什么

数据结构

设计一个线程池

解释下内存中堆和栈,写一个stack overflow的代码

元组和list的区别;

list的底层怎么实现的;

双等于和is有什么区别

栈的默认大小(1M)

算法

说一说各种排序算法原理,及其时间复杂度。

一道二叉树的算法题:给出一棵二叉树,求出所有左叶子结点的值的和

栈,队列是什么?区别是什么?

设计一个可以满足高效率获取第k大和前k个大的元素的数据结构

手写求两个链表第一个交叉节点

求x的y次方,想出比直接for循环更好的方案

求绝对众数

二叉树,输出所有和为n的路径(可以从中间结点到中间结点)

如何用两个栈实现一个队列。

如何开启一个进程。

实现一个 hashtable

写代码:一个二叉树,每个节点除了有左右子节点外,还有指向父节点的引用。给出一个节点,返回它在二叉树中中序遍历的下一个节点。

最长公共连续子串

几十G的数据都是URL,内存空间只有1G,磁盘空间无限,统计频率最高的Top 10;

判断平衡二叉树。

1亿数据取top10 , 1亿数据取出现频率top10,1亿URL取出重复URL

有序数组转二叉搜索树

设计阻塞队列(不能用JDK的api

了解哪些设计模式?手写一个工厂方法模式

手撕sql

反转链表

其它