说明
记录一下面试的问题,主要是手写代码,考察算法和数据结构,难度一般。还有一些知识点复习到了但是表达不清晰,知识不牢固,都在这里总结下
正文
手写代码:
1.十万个数中求出最大的100个数
2.有一亿个灯泡,编号从1-1亿,每个灯泡都有两种状态,开或关,请设计一种数据结构,存储这些数据,并能够根据编号快速检索
3.已知n个点P0,P1,P2…Pn-1,Pn的坐标,这些点形成一个多边形,现在根据这个多边形的周长从P0出发,将周长等分为K份,求出等分点K1,K2,K3…..的坐标
4.给一个字符串如“ab c d e f”,替换字符串中的空格字符返回结果为”abcdef”,现给任一字符串返回结果
5.给一个数组,求出数组的第三大元素,如果没有,则返回数组的最大值,要求复杂度为O(n)
6.编解码,给一个规则n[英文字符],n为数字,代表中括号中字符的重复次数,现给一个字符串,返回解码后的字符串
例子: 2[a]3[b]— aabbb 2[a3[bb]]—abbbbbbabbbbbb
7.菲波那切数列的各种解法
循环,递归,动态规划,动态规划的改进
8.现有1-9 九个数字,三个数字为一组,分为三组,每组数字可成为一个三位数,如果分成的三组组成的三位数的比值符合1:2:3,则这三组符合要求,要求求出所有的符合要求的分组
9.给一个字符串代表二进制数,加1,返回加1后的字符串
10.给一个字符串如 abcappledefappleghjappleklm 这个字符串的分割字符串为apple,如 uabaiae 分割字符为a 现给一任意字符串求出分割字符串
11.有个棋盘m*n,要求从左上角走到右下角,每次只能走右边或者下边,求出所有的可能性
12.linux命令 在某个目录下求出符合要求的所有文件
问答:
13.4个字节能存储的最大整数
14.http协议,https协议
15.从地址栏输入地址到结果返回,描述这个过程,越详细越好
16.网络编程
17.多线程的实现方式
18.加密算法 用户登录时的密码验证,用户的密码存储