软件工程java为主的大学生在大三寒假应该为暑假实习,秋招做哪些准备
我认为这种想知道掌握哪些,掌握到哪种程度的问题都可以通过刷面经来解决。下面是我前几天刷了牛客网接近一百篇面经总结的问题,相信你看一下就心里有数了。没有认真整理格式,但粗略地分了类,可能一个月以后会给出整理好的答案,你也可以从书,搜索引擎等得到大概的答案。祝好。***Java\u0026amp;JVM\u0026amp;设计模式\u0026amp;UMLjvm,jre以及jdk三者之间的关系?序列化原理;类序列化时类的版本号的用途,如果没有指定一个版本号,系统是怎么处理的?如果加了字段会怎么样?哪些类有serialVersionUID属性,作用synchronized原理 synchronized修饰静态变量和普通变量的区别 修饰普通方法和类方法的区别:和Lock对比着说,说到各自的优缺点,synchronized从最初性能差到jdk高版本后的锁膨胀机制,大大提高性能,再说底层实现,Lock的乐观锁机制,通过AQS队列同步器,调用了unsafe的CAS操作,CAS函数的参数及意义;同时可以说说synchronized底层原理,jvm层的moniter监视器,对于方法级和代码块级,互斥原理的不同,+1-1可重入的原理等lock的原理和实现,lock和synchronize的区别int范围(基础数据类型) 基本数据类型,长度concurrenthashmap分段锁(1.7 1.8区别)字节与字符的区别JDK动态代理与CGLIB动态代理原理List接口和Set接口的区别Collections的同步集合的包装 synchronizedMap 与ConcurrentHashMap区别;Collections.sort在jdk1.6以前是用的归并排序,1.7后变成了TimSort排序(归并优化)线程池原理 线程运行完后会消失吗?线程运行完后处于什么状态?怎么知道线程处于什么状态?线程池的构造类的方法的5个参数的具体意义?IO密集和CPU密集两种情况下,线程池里的线程数应该怎么设置自己设计一个线程池类加载机制(双亲委派、加载过程) 反双亲设计,类隔离JVM 分区、GC算法:分代 分代又包含标记清除、标记整理、复制、GC对象存活、GC垃圾收集器(尤其是CMS、G1)年轻代为什么分为8比1Serial 与 Parallel GC之间的不同之处OOM ;方法区OOM时的异常;查看dump 文件,怎么查看,具体命令记得吗,答jstack 具体怎么用的四种引用finalize方法final关键字用法Condion await signalhashcode和equals区别 如果重写equals不重写hashcode会出现什么问题生产者消费者模式的几种实现Java同步机制有哪几种equals与==区别Java内存模型 JMMvolatile happens-before 内存屏障 指令重排 内存可见性线程的状态Error、Exception,Java异常体系,常见RuntimeException,受检异常和运行时异常的区别;受检异常的JVM实现原理泛型;泛型擦除String常量池 intern StringBuilder与StringBuffer四种内部类对象初始化顺序JVM的内存参数;xmx,xms,xmn,xss参数你有调优过吗,设置大小和原则你能介绍一下吗?;Xss默认大小,在实际项目中你一般会设置多大ThreadLocaltry-finally-returnJVM锁的几种状态(轻量级锁、重量级锁)自旋锁 自旋锁会死锁吗list和set的区别JVM 逃逸分析Integer的valueOf;为什么需要基础数据类型的包装类型JUC的几种并发工具,用法和原理BIO、NIO、AIO 重点NIO实现原理 NIO并不是严格意义上的非阻塞IO而应该属于多路复用IO;nio堆外内存AIO在工程中如何实现的?(大概说了下ajax的回调函数),又问回调函数具体是怎么实现的(传递函数指针)CAS 原理 底层是JNI;ABA问题; JNI下cpu和寄存器层面是怎么实现的JVM中对象组成原子操作 AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的JVM指令(尤其是与并发有关的)Iterator与ListIterator,Iterator实现原理排他锁与共享锁读写锁竟态条件Java8新特性自动装箱、自动拆箱 int和Integer的区别抽象类与接口 区别,使用场景 static关键字; static修饰的变量并发下怎么保证变量的安全;出static修饰变量、修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满意ArrayList和LinkedList的使用场景switch实现原理ReentrantLock底层的实现原理;lock和trylock的区别HashMap的实现原理 为何按位与而不是取摸 hashmap的iterator读取时是否会读到另一个线程put的数据 红黑树;hashmap报ConcurrentModificationException的情况 手写HashMap的实现,set get方法,不要求线程安全hashset的实现原理 因为别人知道源码怎么实现的,故意构造相同的hash的字符串进行攻击,怎么处理 如果要去除后还要有序面向对象的三个特性内存泄漏发生在哪 用过哪些调试java内存工具;非静态内部类会导致内存泄露,说了内存泄露的解决AQS公平锁非公平锁介绍方法栈hashmap,hashtable区别arraylist linkedlist vector的区别热加载的原理 osgi实现, 也就是自己实现classloader, 还是来自周志明的那本jvm重写和重载线程的几种实现方式String有重写Object的hashcode和toString吗;String类添加功能,如何设计,可否继承三个线程轮流打印ABC十次对象深拷贝与浅拷贝Java的反射原理队列 set map 区别abstract 等关键字的作用,什么时候用子类中如何调用父类的构造器,如果不用super关键字呢?有其他的方式吗?如果两个线程都使用一个ByteBuf 怎么保证它的安全java中所有类的父类是什么?他都有什么方法wait()和sleep()的区别解析XML的几种方式的原理与特点:DOM、SAX、PULL;Dom4J以及SAX的区别,什么时候用,怎么用Minor GC与Full GC分别在什么时候发生; 如何手动触发全量回收垃圾,如何立即触发垃圾回收;minor gc回收新生代,major gc回收老年代,full gc是全堆回收,老年代+新生代。分派:静态分派与动态分派for each和正常for的用在不同数据结构(ArrayList、set、hashmap)上的效率区别static class和non-static class的区别一个大文件几个GB,怎么实现复制如何把java内存的数据全部dump出来jstack jmap、jconsole 等工具 可视化工具使用;如何线上排查JVM的相关问题?String s=new String("abc")分别在堆栈上新建了哪些对象线程的各种状态Java 集合的快速失败机制 “fail-fast”手写一个ArrayList类,实现add,remove,等基本的方法;对这个ArrayList进行改进,使之可以应对并发的场景Collections.sort函数jdk7 和 jdk8 分别怎么实现的ForkJoinPool ForkJoin框架为什么匿名内部类的变量必须用final修饰,编译器为什么要这么做,否则会出现什么问题;如何访问在其外面定义的变量?PriorityQueue实现原理 替代:用TreeMap复杂度太高,有没有更好的方法。hash方法,但是队列不是定长的,如果改变了大小要rehash代价太大,还有什么方法?用堆实现,那每次get put复杂度是多少(lgN)判断线程是否销毁如果一个接口调用很慢,原因是,如何定位,没有日志的话:假设一下,复现问题,dump查看内存,查看监控日志SimpleDateFormat 线程安全StackOverFlow 栈溢出如何解决设计模式分类各个设计模式的UML代理模式和装饰区别JDK中的设计模式实例有哪些面向接口编程 优点流程图和时序图适配器和代理模式的区别单例模式的几种实现各种设计原则单例模式的静态内部类式,为什么静态内部类式是线程安全的抽象工厂和工厂方法模式的区别Java代码编译过程JKD1.8的JVM指令集上有什么更新吗对比1.7 JDK1.8 lambda表达式、HashMap升级、ConcurrentHashMap升级、synchronized升级yield功能JVM如何确立每个类在JVM的唯一性;类的全限定名和加载这个类的类加载器的ID给定三个线程t1,t2,t3,如何保证他们依次执行Java8 stream迭代的优势和区别;lambda表达式?为什么要引入它在生产线Dump堆分析程序是否有内存及性能问题comparable接口和comparator接口实现比较的区别和用法Arrays.sortprotected权限能否被包外访问;几种访问权限ArrayBlockingQueue和LinkedBlockingQueue 原理java是如何实现跨平台的字节码的编译过程JVM线程死锁,你该如何判断是因为什么?如果用VisualVM,dump线程信息出来,会有哪些信息?查看jvm虚拟机里面堆、线程的信息,你用过什么命令?NIO DirectMemory是否了解------------------------------------------------------------------------------***JavaWeb\u0026amp;安全三层模型 MVC如何过滤敏感评论AJAXDNS;底层用的什么协议Forward和redirect的区别tomcat集群会话怎么保证同步部署项目时tomcat 的参数如果运行的web项目突然停掉了,该怎么解决 有哪些服务器HTTPS 公钥能用公钥解吗?在客户端抓包,看到的是加密的还是没加密 是没加密的https ssl tcp三者关系,其中哪些用到了对称加密,哪些用到了非对称加密,非对称加密密钥是如何实现的加密的私钥和公钥各自如何分配(客户端拿公钥,服务器拿私钥)客户端是如何认证服务器的真实身份,详细说明一下过程,包括公钥如何申请,哪一层加密哪一层解密怎么攻击https什么是对称加密,什么是非对称加密,知道的加密算法有哪些TLS改进,如果session ticket被偷听到会怎样,如何防止中间人攻击Servlet 容器启动过程 生命周期 doPost,doGet,一些内置对象httpServlet和genericServlet的区别servlet过滤器和监听器所用到的设计模式servlet,filter,listener的作用;生命周期每一个 request 对应的 Servlet 是直接 new 出来还是只是用同一个JDBC JDBC的桥接设计模式 jdbc的详细链接过程;底层源码;在Java中调用存储过程的方法Session与Cookie,Session实现原理,如果服务器的负载量很高内存负荷不住要怎么办;session默认过期时间,过长会怎么样分布式Session的几种实现方式;session一致性问题;如何防止session被别人伪造cookie得到Cookie如果我不想js或http读,应该设置什么属性?里面有个属性httpOnly,这个属性你了解吗?URL编码解码WebService SOAP协议HTTP 协议内容 get和post有什么区别?url中的host是什么意思?content-type是什么意思?如何获取http的状态码?状态码301和302有什么区别?http req、resp头有哪些字段?user-agent表示什么?GET,POST等HTTP Methodurl有最大长度限制,就问长度有限制是get的原因还是url的原因,为什么长度会有限制,是http数据包的头的字段原因还是内容字段的原因怎么保证http的安全性,幂等性,回调同一个会话怎么标识不同请求,不同会话怎么区分幂等性是http层面的问题吗,还是服务器要处理和解决的内容。(就是看你对幂等性的定性是怎么理解的)http的缺点,无状态,明文传输。Git常用命令 git rebase git rebase和git merge区别HTTP 的无状态xss攻击csrf攻击301状态码和302状态码的区别 搜索引擎碰到301状态码和302状态码会怎么做sql注入HTTP的短连接和长连接;长连接与短连接的区别(LVS是通过长连接作负载均衡)HTTP2.0 特性 原理对称加密和非对称加密进程和Java虚拟机的关系linkedhashmap和hashmap,treemap的区别数字签名,MD5Wireshark抓包了解BCrypt算法前端?HTML的DOM对象说几个,Document的对象和方法------------------------------------------------------------------------------***OS网络数据库Linux进程调度文件系统;文件描述符是共享的还是私有的;文件系统(ext4)超级块cp/mv的区别软硬连接(inode这块,ln / ln -s)32位系统的最大寻址空间cache 替换算法(LRU是重点)OS中的CAS 信号量内存分页、分段 段页式调度 页面替换算法 ;段式与页式内存管理的优缺点进程间的通信方式进程的几种状态软链接硬链接大小端问题什么是虚拟内存;虚拟内存机制虚拟地址、逻辑地址、线性地址、物理地址的区别什么是内存碎片?内碎片和外碎片的区别OS死锁 死锁的必要条件,怎么处理死锁共享内存原理中断进程与线程 怎么保证进程间数据的安全?线程呢?进程的调度算法乐观锁vs悲观锁;如果现在只有一张火车票,怎么让所有人都看见但是只有一个人能购买成功访问网站的过程 输入http://www.baidu.com后每一层的作用 DNS、HTTP、TCP、OSPF、IP、ARP协议Ping的整个过程。ICMP报文是什么IP地址分类路由器与交换机区别;路由协议(RIP/OPSF)b树,b+树,b*树 B树叶子节点个数、非叶子节点子树个数 磁盘IO次数b 树和 hash 索引应用场合 区别堆和栈的区别TCP三次握手、四次挥手 挥手时客户端和服务器1s内发生5000次短连接,会发生什么问题 两次握手行不行 如果客户端不断的发送请求连接会怎样 那怎么知道连接是恶意的呢?可能是正常连接TCP包的结构四次挥手 为什么要有time_wait,以及如何避免mysql索引底层 行级锁表级锁; sql语句写select *时如何加行级锁; mysql的行级锁加在哪个位置mysql引擎TCP可靠是如何保证事务ACID;主键外键;视图与表基于TCP的协议索引失效,最佳左前缀法则主键索引和普通索引的区别各种join事务隔离级别,mysql事务实现原理(redo log和undo log) 索引分类(unique、cluster、primary) unique唯一索引的使用,索引字段若相同则更新,不同则插入聚集索引在底层怎么实现的,数据和关键字是怎么存的TCP长连接与短连接explain SQL分析 每个列代表什么含义(关于优化级别 ref 和 all,什么时候应该用到index却没用到,关于extra列出现了usetempory 和 filesort分别的原因和如何着手优化等)show profile 怎么使用数据库范式,反范式两军问题TCP与UDP区别 udp怎么实现可靠传输TCP 流量控制 拥塞处理 TCP滑动窗口与回退N针协议Tcp连接状态如何查看复合索引 复合索引要把那个字段放最前,为什么计算机网络层次结构,每层内容(协议等)TCP的数据包格式数据库连接池; mysql数据库连接池的驱动参数 ;数据库连接池如何防止失效;数据库连接池代码mysql 实现层级树形结构 sql 查询优化 mysqllinux 查看文件内容的命令 linux netstat top ipconfig pslinux的显示文件夹大小 ls -al; Linux命令查看文件大小linux的查看端口状态 natstat加参数linux的查看进程的启动时间 ;查看一个进程具体信息,打开了哪些文件描述符,打开的端口,上一次占用CPU率linux 显示文件属性 杀死进程 找出出现次数最多的ip linux指令linux性能监测和调优linux 查看磁盘读写吞吐量linux 查看80端口连接数mysql通信前端到sql解析到sql优化到数据库引擎mysql cluster 实现原理 ;主从复制(架构/错误恢复/MHA);读写分离 原理;linux awk ;用awk统计一个ip文件中top10linux 如果不知道tomcat的端口号,也不知道服务器的名称,如何查看服务器占用的哪个端口如果确定查询的结果只有一行,在没有使用索引的情况下,怎么加速mysql 数据类型 知道text和blob吗?text和blob有什么区别? text中能存放图片吗?项目中图片是怎么存的?为什么不直接存成blob? text和varchar有什么区别? int占多少位?视图和存储过程like%..%为什么会扫描全表?遵循什么原则?TCP 四次挥手 TIME_WAIT 等待两个 MSL作用 如果在 TIME_WAIT等待时客户端手动指定该端口再次发起连接,那么可以建立连接吗?TCP 三次握手 服务端回复时可以将 ACK 和SYN分开发送吗 ;最后一次没有握手成功会,连接会建立吗客户端收到一个窗口为 0 的包怎么处理linux select、epoll;什么是IO多路复用;epoll 水平触发和边缘触发 ;direct io和buffer io区别给定一个图片 URL,讲一下获取这张图片的整个过程为什么要设计进程 可以从进程演化历史、批处理、多道程序设计、进程间通信考虑linux lsof、tcpdump、gdbLinux 如何抓包Linux管道机制,什么原理linux vmstat命令静态链接库和动态链接库的区别TCP洪水攻击32位系统的内存寻址空间多大,具体分为哪几种形态?库函数和系统调用有什么区别一个进程的内存分段以及对应的作用linux实时查看打印的 log 日志内容; 实时查看日志命令linux系统日志在哪里看mysql的binlogsql语句各种条件的执行顺序,如select, where, order by, group bylinux Java 中怎么获取一份线程 dump 文件:你可以通过命令 kill -3 PID (Java 进程的进程 ID)来获取 Java 应用的 dump 文件写sql 查询带日期mysql批量操作mysql容灾备份 ;数据库挂了怎么办?除了热备份还有什么方法mysql存储底层实现MySQL存放地理信息位置Mysql要加上nextkey锁,语句该怎么写linux Cpu load的参数如果为4,描述一下现在系统处于什么情况Linux 查找磁盘上最大的文件的命令什么是elf头文件linux sendfile为啥mysql索引要用B+树而MongoDB用B树?编译原理 LL1 ;语法解析词法解析;编译步骤分几个部分;编译程序常用表达方法数据库死锁以及解决Linux文件权限shell编程网络 连接重置网络通信中管道选取异常什么情况下会出现chmod、chown、chgrp查看网络带宽的命令替换文本字符串的命令 sed将当前目录下所有以“.txt”结尾的文件打印出来,再追问,除了“.txt”再加上“.abc”结尾的也打印出来。------------------------------------------------------------------------------***分布式理论与设计网站并发量是多少?用手机扫二维码登录是怎么实现的?一台机器可以能宕机怎么办?影响单台服务器的并发量的因素有哪些?如何优化?考虑如何设计一个高并发量高吞吐量的服务器?如果是分布式的怎么设计?分布式服务器会出现哪些问题项目中超卖问题解决 1)乐观锁 2)队列抢购怎么实现?为什么用Redis? 具体该怎么做?一台Redis肯定是不行的,该怎么办?了解集群吗?设计一个系统,解决抢购时所需要的大量的短链接的功能,如何保证高并发,如何设计短链接一万个人抢100个红包,如何实现(不用队列),如何保证2个人不能抢到同一个红包,可用分布式锁一致性hash;一致性hash增加减少cache时,是怎样做的正向代理、反向代理发布订阅模式 与 观察者模式 分布式数据库分布式文件系统 分布式存储系统(GFS、HDFS、fastDFS)、存储模型(skipList、LSM等)微信红包的设计大型网站架构:《大型网站技术架构》中起码有哪些个方面map reduce过程SOA项目中的1G左右的文件 如何实现断点续传和多线程上传负载均衡方式CAP+BasePAXOS协议 RAFT协议分布式锁 zk实现分布式锁的方式;redis实现;数据库乐观锁分布式事务Reactive backpressure分布式接口的幂等性设计缓存穿透分库分表RPC框架(包括整体的一些框架理论,通信的netty,序列化协议thrift,protobuff等)分布式生成唯一序列号负载均衡(DNS/nginx/LVS/vipserver)高可用集群(heardbead/keepalived )heardbead与keepalived的区别,脑裂问题的解决,高可用方案的优劣LVS四种模式------------------------------------------------------------------------------***开源项目Tomcat 实现原理JSON类库实现原理,给你一个json字符串, 你要怎么把它变成一个java对象?websocket 原理SpringIOC、AOP 优点,原理,常用注解介绍,AOP应用场景,Spring依赖注入方式;bean容器初始化bean之前之后要加入aop如何实现Spring 初始化 @PostConstruct注解方式,init-method的XML配置方式,InitializingBean接口方式,三种实现上有什么区别autowire和resourse关键字的区别Spring 处理 XML 用的是什么库吗自己实现Spring:每一步用什么数据结构, 存什么map的key存name有问题吗?value存什么?class那我要实例怎么办? forName单例多例分别怎么解决?内存泄露要考虑吗, 或者说怎么考虑生命周期和引用Spring事务传播行为SpringMVC 原理,常用注解介绍springmvc想要用HttpServlet的对象怎么用(在方法参数上加),那是怎么注入进去的,怎么实现的你知道嘛MyBatis/Hibernate 原理,源码,区别;批量操作;MyBatis缓存(一级、二级); mybatis的#和$号区别 ;mybatis一级缓存及可能存在的问题,两个机器能否共用同一个SqlSession实现一级缓存;mybatis如何映射表结构在Hibernate中java的对象状态有哪些;hibernate主键生成策略mybatis和hibernate各自的缓存原理和比较,hibernate的一级二级和查询缓存,还有针对缓存的miss率,置换策略,容量设置和性能的平衡mybatis和ibatis的区别怎么保证redis和db中的数据一致redis实现原理 ;持久化;redis cluster实现原理 ;redis数据类型 string和list都有什么适用场景 ;Codis相关redis与memcached区别 memcache如何保持缓存一致性redis中SortedSet结果redis主从复制过程,同步还是异步等; redis主从是怎么选取的redis插槽的分配;redis主节点宕机了怎么办,还有没有同步的数据怎么办?redis集群的话数据分片怎么分,然后就是如果并发很高,几十万并发,可以做哪些优化Nginx配置(如果项目使用到了的话),负载均衡机制 ;nginx的请求转发算法,如何配置根据权重转发Log4j 输出至数据库Dubbo 通信原理;序列化原理;超时重试;负载均衡;文件上传原理Netty原理 ;心跳;线程模型;尝试看源码;优点;Netty零拷贝, 怎么实现RocketMQ原理 可靠消息原理 尝试看一下源码;优点Druid原理,数据源/数据库连接池原理;连接池中的连接是长连接还是短连接?为什么?;连接池中的连接是基于什么协议的连接?为什么?zookeeper的Leader选举过程,实现机制,有缓存,如何存储注册服务的;事务,结点,服务提供方挂了如何告知消费方;3 个节点挂掉一个能正常工作吗?jmeter、ab等性能测试工具maven生命周期,常用maven命令;Maven包冲突怎么解决?Maven有什么命令可以解决包冲突?Maven怎么把所有包打包Spring Boot实现原理SSO JWT token原理etcd 类似于Zookeeper,基于Raft协议Jedis源码------------------------------------------------------------------------------***数据结构与算法求a的b次方,考虑负数字符串全排列两个大文件找重复行汉诺塔atoi 要考虑负数和溢出;itoa手写BlockingQueue怎么判断一个二叉树是否是平衡二叉树斐波那契数列冒泡排序优化 选择排序求任意二叉树第k层结点个数平衡二叉搜索树;平衡二叉树插入删除查找手写快排,快排改进 归并排序和快速排序的思想和区别,不用递归实现快排、归并排序求质数最好的方法手写链表链表翻转 要O(1)各种排序的时间复杂度、空间复杂度,是否稳定平衡二叉树,使用一维数组存储数组的最大子序列和;最长递增子序列,一个dp数组一个max数组,最优情况;一个数组,有正有负,不改变顺序的情况下,求和最大的最长子序列二分查找二叉树的遍历 二叉树非递归遍历 二叉树的层序遍历 查找复杂度、最差时间复杂度、最好时间复杂度n*n 的矩阵,按副对角线打印 ;矩阵旋转打印;之字形打印矩阵;45度斜线打印矩阵图的遍历(深度优先、广度优先)背包问题链表倒数第 k个节点一个无序数组找第K大的元素数组与链表区别判断链表是否有环Hash 冲突 不用自带库的情况下,如何求根号3,精度在0.00001以内,保留两位小数前缀树判断两个链表是否相交两个栈实现队列找出数组两个数的和等于给定的数;一个先减后增的数组,查找目标值无序数组找中位数两个有序数组找中位数大数据去重问题top K ;找到第k大的数 ;100000个数找出最小或最大的10个 ;有一个很长的链表,找出倒数第k个元素 ;单机版 Top K:给 N 个数,找出第 K 大的数(快排的 partition,最小堆),如果用堆的话,算法时间复杂度;海量数据(不能在单机完成):分布式 Top K?(面试官说考察 map-reduce 思想)维护一个堆;堆排序的原理;堆排序大概是怎么实现的?堆排序你使用过吗,是用的怎样的底层存储,数据结构;底层是用的数组,逻辑上是怎样的结构字符串匹配 KMP 正则中用的改进后的BM算法;搜索算法PN使用一个数组实现一个链表,i存自己下标,i+1存下一个结点下标,i+2存值 要求使用移位操作找出一个数组里面重复的数:用hash方法,建一个2的32次方个bit的hash数组,每取一个int数,可hash下2的32次方找到它在hash数组中的位置,然后将bit置1表示已存在单链表奇偶位反转一堆数字里面去重如果要你做一个防火墙,有10万个黑名单,有可能会增长达20万个,一个数据包过来,如何匹配求一个集合的所有可能子集 给定字母集合(a-z), 求出由集合中这些字母组成的所有非空子集合并两个有序链表的时间复杂度翻转单词顺序https://leetcode.com/problems/2-keys-keyboard/description/https://leetcode.com/problems/fraction-to-recurring-decimal/description/3L桶一个,5L桶一个,无限水,怎么倒腾出4L来爬n层楼梯,一次只能上一层或两层,输出所有情况的路径; 爬楼梯,写出状态转移方程跳阶问题列出一个目录下所有文件,包括子目录对整数分解质因数,90=2*3*3*5找出只出现一次的数字给单链表排序,时间复杂度O(nlogn),空间复杂度O(1)判断一个字符串能否被字典完全分词(dp)m乘n的格子,求正方形数约瑟夫环给定一个数组, 里面放置任意数量的随机数, 如何快速统计出数组中重复的数字以及出现次数AVL树的概念, 四种旋转方式, AVL树左右旋转的例子QQ每天都会产生大量的在线日志记录, 假设每天的在线日志记录有十亿条, 请设计一个算法快速找出今天的在线人数 ;3亿条IP中,怎么找到次数出现最多的5000条IP扑克牌模拟题每行一个单词,有很多行,统计出现频率最高前 10 个单词最小生成树prim算法与最短路径Dijkstra算法找素数递归求阶层把一个数组中奇数放前面,偶数放后面统计一个整数的二进制表示中bit为1的个数1000个苹果放10个篮子,怎么放,能让我拿到所有可能的个数动态规划(笔试回回有。。)、贪心二叉树的最长距离;二叉树最近相同父节点旋转数组中查找某一个值识别2的n次方:n\u0026amp;(n-1)可以去掉二进制最右的1,那2的n次幂\u0026amp;之后便为0手写字符串的正则匹配,实现*和.的功能,用的递归两个大数求和,要按高到低位的输入,实时输出结果的对应位,空间O,时间O(n),不借助工具类。(要考虑实时的进位标识,以及多个9之后的连续进位标识)int范围的随机数的阶乘编码实现存储十万条数据(键值对)到内存如何实现求一个不完全三叉树叶子最多的层,求深度;找出一个三叉树节点数最多的层数组实现一个循环队列红黑树的插入删除搜索效率,最坏插入删除搜索效率给定一个字符串,找出只出现了一次的两个字符找出连续数中缺失的数字找出一个数在有序数组中的位置,不行就找出下一个升降数组中的最大值桶排序链表删除倒数第K个节点多路有序链表合并 改进树的下一个节点找出数组中n/2的数找出链表环的头部跳表和红黑树的区别烧绳子扔骰子,1-2对方赢,3-5 自己赢,6重新仍,问自己赢的概率O(n) 合并两个二叉查找树给跳跃步数求最短路径Trie树 Implement Trie(Prefix Tree) 最长匹配;淘宝存着一个包含10w个敏感词的词库,紧接着需要从多个商品标题中随机抽查3个有没有包含敏感词的商品。二分搜索变形:找第一个target最长上升子序列一个无序数组,其中一个数字出现的次数大于其他数字之和,求这个数字 (主元素)一棵二叉排序树,给定一个数,找到与给定数差值最小的数两个排序的数组A和B分别含有m和n个数,找到两个排序数组的中位数Generate Parentheses最小公倍数和最大公约数如何判断一个树是不是另一颗树的子树判断一个IP是否在黑名单列表中将一个只含有1~n的乱序数组(不重复)的第一个数变成-1,求哪个数被变成了-1二叉树高度(递归,非递归)一个数组只有一个数不重复,找出这个数一个数组有两个不重复,找出这两个数如何判断一个数是2的次幂图存储两个数据集求并集二进制文本切割,文本中前两个字节是要给字符串的长度,然后将整个文本进行切割换行放入另一个文本现在有一个特别大的文件,大概1T,现在要从服务端拖拽到客户端,有什么思路?最长回文子串的程序有序链表构建平衡搜索二叉树2Sum,然后引申Nsum如何实现用户热搜关键词提示(字典树)计算一个树中两叶子节点间最大路径和一段字符序列,求每个字符出现的次数,要求时间复杂度和空间复杂度最优给定一个数,要求求出比这个数稍大的一个数,该数是2的幂。时间复杂度O(1)把 "http://www.zhidao.baidu.com" 这样的字符串改成 "com/baidu/zhidao/www"。——老题目了,剑指 offer 的,两次逆序排列即可。长为N的数组,元素范围是0-N-1,其中只有一个数是重复的,找出这个重复元素矩阵从左上角向右下角走,每次只能向右或者向下移动,求经过最大的路径数n可以由完全平方数构成,求最小的完全平方数构成数。多叉树实现,并层次遍历的代码找到最大子数组的 start, 和 end 下标找出一串字符中第一个不重复字符的下标如何求二叉树中两个节点的最短路径一个无限长的数组实现一个类似hashmap的结构------------------------------------------------------------------------------***技术无关问题自我介绍:最好背熟项目到底是做什么的,有哪些功能项目中遇到的困难?怎么解决项目的整体架构,在面试的时候能够清楚地画给面试官看并且清楚地指出从哪里调用到哪里、使用什么方式调用用到了哪些技术合作项目如何分工?曾遇到的挫折?项目画图;画一下项目的数据库表用三个词语描述下自己看过什么书对简历上的每一个字负责, 而且最好简洁明朗, 拒绝啰嗦, 让面试官的所有问题都针对你的简历进行提问带成绩单举出一个例子说明你的自学能力说一件大学难忘的事对方公司跟之前的offer比优势在哪,比如平台更大?专业技能栈更match?工作更有挑战力?地点更合适?有机会留用? 一定不要在没有面试经验的情况下先面大厂,或者是你想去的公司。 对于简历上的每一条一定要熟悉,做足准备,并且遇到简历上没有都扯到的方面,要想办法转移,不要在这耗着 给你印象深刻的事情 你有什么问题吗? 除了java还有学过其他语言吗? 技术难点有哪些?说大概三个 哪些专业课学的比较好? 是否会读研?为什么? 你身边同学如何评价你、老师呢 如果与同事发生了意见的不一致,你会如何解决呢
■网友
推荐阅读
- dart这编程语言现在发展怎么样了,语法与Java,c#很相似,甚至更简洁
- 作为软件工程大二的学生,学习一般,编程一般,毕业后能干些啥
- Java工程师和C++工程师在工作上有啥区别哪个更适合自身发展
- 请问一下大家,大学读软件工程应该需要学习哪些东西 ?并且需要掌握哪些知识?
- 计算机专业、软件工程专业有读博士的必要吗
- 27岁,转行java的血与泪,该何去何从
- 怎样统计工程中未使用的java类
- 新互联网网站用Java还靠谱么对比Php,Python,Ruby的话
- 我想学java和安卓软件开发?
- 学计算机专业,java那些和网站开发选台式还是笔记本好
