架构师职位相关(二)

商汤科技招聘–术架构师/技术经理(35k-45k)

岗位职责:
  • 根据公司业务规划,开展城市视觉智慧赋能产品架构相关设计与研发工作;
  • 参与构建高性能,高可用,可扩展的分布式人工智能平台产品;
  • 负责产品架构设计,影响产品路线图,构建智慧城市及AI+行业领域具有竞争力的智能化产品;
  • 支撑AI产品、项目交付团队,完成产品对行业用户的赋能;
查看更多

百度高级java工程师面试59题

百度一面面试题目

Java面试题目:

  • Java读取一个文件, 有哪些方法, 考虑性能, 用哪一个类
  • BIO, NIO, AIO区别
    Java 类加载机制
    为什么使用双亲委派模型
    NIO的组件, Selector
    什么是序列化, IO的序列化方式, 为什么需要序列化(包括在网络传输的情况下)
    Error和Exception区别
    RuntimeException和非RuntimeException区别
    什么叫线程安全, 保证线程安全的方法
    加锁的方式, synchronized作用在方法上和代码块区别
    synchronized(this)和synchronized(Xx.class)区别

    Web方面:

    Spring AOP实现原理
    一个页面, 一个提交按钮, 如何防止重复提交, 我说验证码, 还有其它方式吗?
    ajax实现跨域请求(前端或者后台实现方法)
    cookie和session区别
    forward和redirect区别

    数据库

    你建过索引吗? 建索引的原则
    索引的类型, 如主键索引
    查看SQL执行计划
    有十万条数据, 写SQL语句查询其中某字段较大值的几条数据
    子查询与关联查询的区别

    JVM

    你用过的JVM命令有哪些
    如果一个程序发生OOM, 该怎么处理
    JVM内存模型
    JDK7与JDK8的JVM内存模型区别
    回收算法
    回收器
    虚拟机client和server的区别
    对象和引用之间一般用什么连接?句柄池的作用是什么。

    网络:

    HTTP1.0与HTTP1.1区别
    TCP与UDP区别

    容器方面

    介绍线程安全的list(copyonwritelist)
    线程安全的map,具体是怎么实现的,与Hashtable什么区别。
    CAS

    并发

    知道的线程池(ThreadPoolExecutor属于一类,forkjoin知道吗)
    线程池怎么自己去实现?给你一个Runnable、一个容器怎么实现。
    AQS中线程等待怎么做的(线程挂起状态怎么做的)?

    nio、bio

    阻塞非阻塞的区别?
    异步和同步的区别?异步是使用的内核级线程还是用户态线程。
    AIO在Java中应用到了吗?

    中间件

    redis
    rabbitMq
    memcached等的使用场景和设计原理
    redis:
    redis部署方式。
    redis怎么加入节点
    redis持久化。

    百度二面面试题目

1.手撕字符串转int

查看更多

面试又载在jvm上了

无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎。不管是工作还是面试中,JVM都是必考题。如果不懂JVM的话,薪酬会非常吃亏(近70%的面试者挂在JVM上了)。

掌握了JVM机制,就等于学会了深层次解决问题的方法。对于Java开发者而言,只有熟悉底层虚拟机的运行机制,才能通过JVM日志深入到字节码的层次去分析排查问题,发现隐性的系统缺陷,进而提升系统性能。

一些技术人员开发工具用得很熟练,触及JVM问题时却是模棱两可,甚至连内存模型和内存区域,HotSpot和JVM规范,都混淆不清。工作很长时间,在生产时还在用缺省参数来直接启动,以致系统运行时出现性能、稳定性等问题时束手无措,不知该如何追踪排查。久而久之,这对自己的职业成长是极为不利的。

掌握JVM,是深入Java技术栈的必经之路。

jv.png

查看更多

面试核心

高并发,调优

在自己本地单机部署,测试环境里,去压测,每秒单机有500并发请求,去观察jvm的运行情况,这个时候它会不会存在
频繁gc的问题,你就去调休一下,你就可以基于这个压测的例子去说了.

一定要结合你自己的业务,系统,接口,干什么 ,并发请求,jvm运行的情况,问题出在哪儿,如何调优,效果如何.

面试知识点确认

socket多线程 ok
netty底层nio,aio ok
高并发 ok
heh ok
事务控制多库多表操作 ok
spring cloud
soa ignore
jvm调优 ok
类加载机制 ok
gc机制 ok
支付流程和注意点
spring的加载机制 ok
tomcat加载机制 ignore
做过的项目 important

线程调度;多线程相关:多线程并发用到那哪些?线程数据共享;synchronize 用法,原理 ?死锁的原因,现场写了一下;(重点)

首先要了解高并发的的瓶颈在哪里?

1、可能是服务器网络带宽不够
增加网络带宽,添加CDN

2.可能web线程连接数不够
负载均衡,前置代理服务器Nginx,静态资源分离到另外一个服务器

查看更多

你之所以感到不快乐,其实是因为你还不够自私

人是自然的产物,所有对于人性的研究自然要从人与自然说起。

达尔文的生物进化论、社会心理学、生物学、生理学等多个领域的研究都一致表明:

人类的本性不仅仅存在生理需求还存在情感需求,情感需求即快乐以及痛苦的情绪表达。

追求快乐是人的天性,而造成快乐与痛苦的因素其实有很多,适当的自私也的确可以让人更快乐。

当然,这里所讲的自私,并不是让你去做一个遭人厌弃之人,而是在保证别人利益的前提下,多为自己考虑,更多的去关注自己的情绪变化及心理需求。

查看更多

这就是人生

孤独是人生的常态,一定要拥有真正喜欢的兴趣爱好,这样才能支持你渡过无数个漫漫长夜和无数个孤独的时候,读书则是成本最低的兴趣爱好。很多人看起来什么都感兴趣,啥都能参与一定点但都不深入,这种人是最孤独的,因为他根本不知道自己想要什么,喜欢什么。

绝大部分焦虑不过是脑子勤奋(想的太多)和身体懒惰之间的矛盾,自视甚高是人之常情,但一般要等到人到中年才能明白。20岁:我一定行——40岁:我本可以——60岁:我真的不行哎,是大部分人的人生轨迹。

一个人行不行可能早就注定了,比如家庭,比如言行举止,比如不经意间的流露……比如知乎的提问,大部分人都不懂得先问是不是再问为什么,大部分人都来懒的出奇,对自己不负责任,问的很随便,不说任何前提,不说任何自己情况,比如太多人问什么专业好、XX专业有没有前景、550分能读什么学校……只有这几个字,惜墨如金守口如瓶的,这些人将来基本上都会庸庸碌碌一辈子。因为思考意识具有决定性作用,跟年龄关系不大,如果你跟顶级中学的高中生聊过天 ,会发现她们比很多大学生有思想有见识,问问题的时候会把个人和家庭情况、问题背景、愿景交待的很清楚。

对于大部分人来说,体制内尤其是公务员是最好是工作,因为大部分人到了中年才会明白自己不过是庸人,是站在路边给别人喝彩,坐在台下给别人鼓掌的人,年轻时所谓的理想情怀豪言壮语只是对自己不了解,或者人云亦云。

大部分人一辈子也不会遇到轰轰烈烈荡气回肠的爱情,不过的找一个能接受的,不喜欢也不讨厌,甚至不那么讨厌的人将就着,婚姻,不过是人生的例行公事。

查看更多